9

<br/>jqueryを使用してタグを含む文字列を分割するにはどうすればよいですか。次のコードを試しましたが、コンソールでエラーが発生します。タグに基づいて文字列を分割する方法がわかりません これが<br/>私が試したコードです

jQuery(document).ready(function($)
    {
        var lines = jQuery('this is for testing <br/> How are you<br/>').split('<br/>');
        jQuery.each(lines, function() {
            alert(this);
        });
    });

どんな提案も素晴らしいでしょう。

4

10 に答える 10

10

バニラ文字列を分割したい場合は、$()単純に渡さないでください。

jQuery(document).ready(function($)
    {
        var lines = 'this is for testing <br/> How are you<br/>'.split('<br/>');
        jQuery.each(lines, function() {
            alert(this);
        });
    });
于 2013-09-03T12:20:36.137 に答える
1

これは jQuery ソリューションではありませんが、うまくいけば、誰かが役に立つと思います。この関数は、1 つまたは 2 つの要素を返します。

function splitContentsOnBr(el) {
    const before = document.createElement('div');
    const after = document.createElement('div');
    let found = false;
    el.childNodes.forEach(c => {
        if (found) {
            after.appendChild(c.cloneNode(true));
        } else if (c.tagName == 'BR') {
            found = true;
        } else {
            before.appendChild(c.cloneNode(true));
        }
    });
    return after.childNodes.length ? [before, after] : [before];
}
document.querySelector('#result').innerHTML = splitContentsOnBr(document.querySelector('h1'))
    .map(el => el.textContent.trim())
    .join(', ');
<h1>
  First part
  <br>
  Second part
</h1>
<div id="result">
</div>

于 2019-06-08T16:58:53.403 に答える