如何仅包含范围内的内容,不包括标签..
这是我拥有的标记...
<span class="foo">
<span class="bar">+</span>
lorem ispum lorem ispumlorem ispumlorem ispum
</span>
现在这就是我想要的
<span class="foo">
<span class="bar">+</span>
<span class="foobar">lorem ispum lorem ispumlorem ispumlorem ispum</span>
</span>
$('.foo').wrapInner('<span class="foobar"/>')
正在包装整个内部内容。\
提前感谢..
答案 0 :(得分:2)
您可以过滤掉文本节点并将其包装起来:
$('.foo').contents().filter(function() {
return this.nodeType == 3 && $.trim(this.textContent) != '';
}).wrap('<span class="foobar" />');
答案 1 :(得分:2)
您必须过滤节点然后换行。使用.each()
。试试这个:
$('.foo').each(function() {
$(this).contents().eq(2).wrap('<span class="foobar"/>');
});
<强> DEMO 强>
答案 2 :(得分:1)
将内容包含在内容中,您可以使用
$('.foo').wrapInner('<span class="foobar"></span>');
答案 3 :(得分:0)
您可以使用nextSibling
获取textNode,然后将其包装
$($('.bar').get(0).nextSibling).wrap('<span class="foobar" />')