2013-12-23 10 views
-1

我在努力理解jQuery wrap()方法是如何工作的。在documentation中我找到這個:如何在jQuery變量中使用jQuery包裝?

描述:將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

即使你包裝d與其他元素d仍然指向舊的元素集合,如果你想有包裹元素的HTML,那麼你必須訪問的d父,然後得到的HTML像

console.log("Parent: ", d.parent().html()); 

演示:Fiddle