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

The result is <div class="inner"><div class="outer"><p>hello</p></div></div>,

Why is it so? I expected inner inside outer, not otherwise.

Here is fiddle to play with : http://jsfiddle.net/qnYDY/

4

3 回答 3

3

我认为第一个 wrap 调用返回“p”本身,所以当你再次包装它时,“外部”div 将包装“p”标签而不是它的任何父母。

于 2013-10-27T16:17:41.067 回答
2

因为wrap()方法:

...返回用于链接目的的原始元素集。

来源:http ://api.jquery.com/wrap/

于 2013-10-27T16:17:42.013 回答
1

正如Jamie Dixon wrap()所说,返回原始参数集

您可以使用parent()附加到新添加的元素:

$("p").wrap("<div class='inner'></div>").parent().wrap("<div class='outer'></div>");
于 2015-11-19T08:11:06.690 回答