正如标题所示,我想知道如何在段落中的br之前和之后的范围内包装文本。
我的HTML就是这样......
<div class="blog-container">
<div class="each-article">
<p>Text text text <br/> text text text</p>
</div>
<div class="each-article">
<p>Text text text <br/> text text text</p>
</div>
</div>
我认为可以使用的jQuery是
$('.blog-container .each-article p br').before().wrap('<span></span>');
这给了我的是:
<div class="blog-container">
<div class="each-article">
<p>Text text text <br><span></span></br> text text text</p>
</div>
<div class="each-article">
<p>Text text text <br><span></span></br> text text text</p>
</div>
</div>
答案 0 :(得分:9)
试试这个:
$('.each-article p').each(function() {
$(this).contents().filter(function() {
return this.nodeType == 3;
}).wrap('<span>');
});
参考文献:
contents()
,选择所有子项,包括文本节点3
)修改 - 此处不需要修剪。但是,在某些情况下(如果非文本节点是第一个子节点),空白空间可以视为文本节点。看到这个小提琴:http://jsfiddle.net/M3knf/