2013-08-05 98 views
0

所以我試圖在JQuery中動態創建一個元素,然後用jquery wrap將它包裝在一個更簡單的元素中。我嘗試以下,並沒有奏效:jquery元素創建錯誤?

jQuery('<div />',{ 
     "class":"b", 
     text:"testing" 
     }).wrap('<div class="red" />'); 

jsfiddle

然後搜索後,我穿過凸輪this question,這似乎是我一直在尋找。

不幸的是,代碼是放置在創建的元素中,而不是包裝創建的元素。我試着亂搞,但截至目前看來,沒有辦法簡單地包裝一個Jquery創建的元素。

這是函數中的錯誤嗎?或者我錯過了什麼?

回答

2

這個片斷:

jQuery('<div />',{ 
     "class":"b", 
     text:"testing" 
     }).wrap('<div class="red" />'); 

返回引用到的第一個對象,你所創建的DIV,你不把它包在一個下面是工作的一種替代方案:

http://jsfiddle.net/vVxzc/

var test = jQuery('<div />',{ 
     "class":"b", 
     text:"testing" 
     }).wrap('<div class="red" />').parent(); 
$('#append2').append(test); 
2

您正在追加包裹到其他元素的項目,這將導致它從任何地方被刪除,即包裹我nside紅色div。你需要做的是將紅色的div添加到元素中。 wrap讓你回到原來的元素,而不是包裝元素。

var test = jQuery('<div />',{ 
     "class":"b", 
     text:"testing" 
     }).wrap('<div class="red" />').parent(); 
$('#append2').append(test); 

http://jsfiddle.net/mowglisanu/ySbg7/1/