だから私はこのようなものを持っています:
<span class="a"> Contents <span class="b">Herp</span><br></span>
... 「コンテンツ」は、文字列から単一の画像、複数の改行までさまざまです。b.span と br を取得せずに、「内容」を変数として定義する必要があります。
どのようにしますか?事前にどうもありがとうございました!
だから私はこのようなものを持っています:
<span class="a"> Contents <span class="b">Herp</span><br></span>
... 「コンテンツ」は、文字列から単一の画像、複数の改行までさまざまです。b.span と br を取得せずに、「内容」を変数として定義する必要があります。
どのようにしますか?事前にどうもありがとうございました!
を使用.contents()
してすべてのコンテンツを取得し、.slice()
メソッドを適用して最後の 2 つを切り取ります。
$("span.a").contents().slice(0,-2)
var clone = $('span.a').clone();
$('span.b', clone).remove();
var text = clone.text();
console.log(text);
alert($('span.a').text()); //will alert 'Contents'
要素 A を変数に貼り付けることができます。
var $a = $('.a').children().remove();
alert($('.a').html().append($a));
この例では、削除またはスライスする必要がある要素の数などをハードコーディングしていません。少しエレガントです。
var c = $('.b').nextAll('br').remove().end().parent().find('.b').remove().end().html();
alert(c)
ここで見る
最後の 2 項目以外のすべてが必要な場合は、次を試してください。
var $content= $(".a").contents();
var htmlnodes = $content.filter(function(ndx) {
return (ndx < $content.length -2);
});
console.log(htmlnodes);