2014-02-09 39 views
1

在我的插件,我用下面的代碼來包裝提供的元素的內容在一個div:WrapInner不設置包裝HTML

this.wrapper = $('<div/>', { 'class' : this.options.contentsClassName }); 
    this.element.wrapInner(this.wrapper); 

在我destroy功能,我需要去除包裝股利。然而,似乎使用wrapInner實際上並沒有設定是因爲包裝的html

this.element.html(this.wrapper.html()); 

實際上是設置原始元素的html空。

在這裏打包/解包內容的正確方法是什麼?我想在我的插件實例(this.wrapper)中存儲對包裝的引用,因爲我需要在多個區域對其進行操作。

回答

1

在您的示例中this.wrapper引用未附加到DOM的JQuery對象。你需要找到連接到DOM並存儲的JQuery對象。

既然你包裹element的innercontents,你可以設置wrapperelement的第一個孩子:

this.element.wrapInner($('<div/>', { 'class' : this.options.contentsClassName })); 
this.wrapper = this.element.children().first(); 

Similar Example