所以我有这样的事情:
<span class="a"> Contents <span class="b">Herp</span><br></span>
... “内容”可能会从字符串,到单张图片到多个换行符 。我需要将“内容”定义为变量,而不是获取b.span和br。
你是怎么做到的?非常感谢你提前!
答案 0 :(得分:2)
使用.contents()
获取所有内容,然后应用.slice()
method切掉最后两个内容:
$("span.a").contents().slice(0,-2)
答案 1 :(得分:1)
alert($('span.a').text()); //will alert 'Contents'
答案 2 :(得分:1)
var clone = $('span.a').clone();
$('span.b', clone).remove();
var text = clone.text();
console.log(text);
答案 3 :(得分:0)
如果您想要除最后两项之外的所有内容,请尝试:
var $content= $(".a").contents();
var htmlnodes = $content.filter(function(ndx) {
return (ndx < $content.length -2);
});
console.log(htmlnodes);
答案 4 :(得分:0)
您可以将元素A粘贴在变量中。
var $a = $('.a').children().remove();
alert($('.a').html().append($a));
在这个例子中,我们并没有对应该删除或切片的元素数量进行硬编码。它稍微优雅一点。
答案 5 :(得分:0)
var c = $('.b').nextAll('br').remove().end().parent().find('.b').remove().end().html();
alert(c)
见here