如何在jQuery变量中使用jQuery包装?

时间:2013-12-23 13:15:29

标签: jquery html

我很难理解jQuery wrap()方法是如何工作的。在documentation我找到了这个:

  

描述:围绕匹配元素集中的每个元素包装HTML结构。

我看到了他们的例子。我用页面中的元素测试了它。它运行正常,但我的问题是:我可以将wrap()用于 jQuery变量吗?

我有以下测试代码:

var d = $("<div class='one'>");
d.html("Hi, I am <strong>strong</strong>");

console.log("Before wrapping: ", d.html());
d.wrap("<div class='new'></div>");

console.log("After wrapping: ", d.html());

输出:

  

Before wrapping: Hi, I am <strong>strong</strong>

     

After wrapping: Hi, I am <strong>strong</strong>

第一个输出是正确的。对于第二个我预期

  

After wrapping: <div class='one'>Hi, I am <strong>strong</strong></div>

(因为它包裹着<div class='new'></div>

我做错了什么?

JSFIDDLE

1 个答案:

答案 0 :(得分:1)

即使你用另一个元素d包裹d仍然引用旧元素集,如果你想要包装元素html,那么你必须访问{{1}的父元素然后得到像

这样的html
d

演示:Fiddle