2011-03-30 35 views
0
var parent = $('<div>parent</div>'); 
$('div').wrap(parent); 

parent.append('<div>appended</div>'); 

我使用下面的html代碼測試它,並且append方法在父對象上不起作用。我在哪裏犯錯誤?包裝的上下文無法正常工作

<div>child</div> 

編輯:預期的HTML結果是

<div>parent 
<div>child</div> 
<div>appended</div> 
</div> 
+0

你想做什麼?結果應該是什麼?之後向'parent'添加內容不會對用於包裝的元素產生任何影響。 – 2011-03-30 11:21:44

回答

1

你可以這樣做:

$('div').wrap('<div>parent</div>').after('<div>appended</div>'); 

由於每個div是纏元素,附加到父母的獨子是一樣的div後插入新的元素。

DEMO

0

嘗試

$(parent).html($(parent).html() + '<div>appended</div>'); 

或者

$(parent).append($('<div></div>').html('appended')); 

而且這可能工作

$(parent).append($('<div>appended</div>')); 
0

你caould嘗試給孩子和ID:

HTML

<div id="child">child</div> 

jQuery的

var parent = '<div>parent</div>'; 
$('div').wrap(parent); 

$('#child').parent().append('<div>appended</div>'); 

該作品一個治療,檢查出來 - http://jsfiddle.net/ajthomascouk/MXbMQ/

+0

沒有理由給這個元素一個ID。 '$('div')。parent()...'也可以。 – 2011-03-30 11:39:45

+0

@Felix Kling,不正確,在上面編輯我的小提琴,並查看結果。它會追加兩個'

appended
' – Alex 2011-03-30 12:54:56

+0

是真的。因爲現在它也選擇「父母」div。無論如何,這可以通過方法鏈來解決:'$('div')。wrap(parent).parent()。append('

appended
');'。 – 2011-03-30 13:04:09