<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>
,
为什么会这样?我期待内在的内在,而不是其他。
这里有小提琴:http://jsfiddle.net/qnYDY/
我认为第一个包装调用本身返回“p”,所以当你再次包装它时,“外部”div将包装“p”标签而不是它的任何父节点。
正如Jamie Dixon所述,wrap()
返回原始论证集。
您可以使用parent()
附加到新添加的元素:
$("p").wrap("<div class='inner'></div>").parent().wrap("<div class='outer'></div>");