jquery插入一个html块,使它在目标之前开始并在目标之后结束 - 这可能吗?

时间:2010-06-15 10:09:25

标签: jquery dom-manipulation

我了解您可以使用before()insertBefore()after()insertAfter()在目标之前和之后添加html的插入块。

我尝试做类似的事情

<script type="text/javascript">
    $(document).ready(function(){
        $("p").before("<div class='myContainer'>");
        $("p").after("</div>");
    });
</script>

<p>paragraph</p>

但注入似乎会自动为我创建结束标记,有没有办法解决这个问题?

干杯

2 个答案:

答案 0 :(得分:4)

有一个功能:)使用.wrap(),如下所示:

$("p").wrap("<div class='myContainer'>");

这将包装每个<p>独立的you can see a demo here,它会改变这一点:

<p>Paragraph 1</p>
<p>Paragraph 2</p>​

进入这个:

<div class='myContainer'>
  <p>Paragraph 1</p>
</div>
<div class='myContainer'>
  <p>Paragraph 2</p>​
</div>

答案 1 :(得分:0)

提到你也可以这样做:

$myDiv = $("<div class='myContainer'></div>");
$("p").wrap($myDiv);

然后在以后再次将内容附加到myDiv

$myDiv.append("This is going to be the text in myContainer");