用div jquery包装文本

时间:2014-02-27 12:51:20

标签: javascript jquery

我在段落中有以下文字,最后一行是html新行

<p class="pcontainer extend">
    First Text<br />
    Second Text<br />
    Third Text<br />
</p>

现在我想要做的是用div包装这3个文本,这样输出就是..

<p class="pcontainer extend">
    <div class="wrap">First Text</div><br />
    <div class="wrap">Second Text</div><br />
    <div class="wrap">Third Text</div><br />
</p>

你可以看到每个文本都用div()包装,无论如何我可以通过jquery或javascript方法实现这一点吗?到目前为止,我目前正在寻找解决方案,但到目前为止,没有什么能满足我的需求。任何建议,推荐和想法,都会喜欢听!提前谢谢。

1 个答案:

答案 0 :(得分:7)

一种可能的解决方案是过滤非空文本节点并将wrap()应用于它们:

$('p').contents().filter(function() {
    return this.nodeType === 3
        && $.trim(this.nodeValue).length;
}).wrap('<div class="wrap" />');

DEMO: http://jsfiddle.net/kEvm4/