2013-10-27 63 views
2
<p>hello</p> 

$("p").wrap("<div class='inner'></div>").wrap("<div class='outer'></div>"); 

结果是<div class="inner"><div class="outer"><p>hello</p></div></div>jQuery的包裹链

为什么会这样呢?我预计,不是别的。

这里是小提琴玩:http://jsfiddle.net/qnYDY/

回答

3

我认为首套调用返回“P”本身,所以当你再次把它包起来,“外”的div将包裹“P”标签,并没有任何的父母。

0

如前所述通过Jamie Dixonwrap()返回原设定的参数

你可以使用parent()追加到新添加的元素:

$("p").wrap("<div class='inner'></div>").parent().wrap("<div class='outer'></div>");