所以我有这样的事情:
<span class="a"> Contents <span class="b">Herp</span><br></span>
...其中“内容”可能从string到单个图像到多个 linebreaks不等。我需要将“内容”定义为变量而不获取 b.span 和 br。
你怎么做呢?非常感谢您!
所以我有这样的事情:
<span class="a"> Contents <span class="b">Herp</span><br></span>
...其中“内容”可能从string到单个图像到多个 linebreaks不等。我需要将“内容”定义为变量而不获取 b.span 和 br。
你怎么做呢?非常感谢您!
用于.contents()
获取所有内容,然后应用该.slice()
方法切掉最后两个:
$("span.a").contents().slice(0,-2)
alert($('span.a').text()); //will alert 'Contents'
var clone = $('span.a').clone();
$('span.b', clone).remove();
var text = clone.text();
console.log(text);
如果您想要除最后 2 项之外的所有内容,请尝试:
var $content= $(".a").contents();
var htmlnodes = $content.filter(function(ndx) {
return (ndx < $content.length -2);
});
console.log(htmlnodes);
您可以将元素 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)
看这里