2012-07-14 97 views

回答

5

我建議$content.not('#xx').appendTo('#output');

我還與解決方案也here更新您的JS提琴。

+2

+ 1..Very Simple..welcome to SO – 2012-07-14 15:04:38

+0

謝謝,感謝! – Martin 2012-07-14 16:27:09

2

我想從你正在創建一個片段沒有一個頂級的事實,問題源於級元素。如果你把這一切全部包裝在<div>那麼它工作正常。

var $content = $('<div><h1>title</h1><h2 id="xx">remove me</h2><p>some content or other</p></div>'); 

編輯 —哎呀我也改變了你移除代碼完全一樣季米特洛夫先生在他的回答一樣。

+0

這並不一定有效。你也必須修改'$ .remove()'方法:http://jsfiddle.net/userdude/NNcG5/3/ – 2012-07-14 14:59:20

+0

@JaredFarrish它在我嘗試時工作;實際上我已經改變了它 - 我會更新答案。 – Pointy 2012-07-14 15:13:11

+0

沒有包裝div。很棒的發現。謝謝。 – 2012-07-14 15:30:07

3

嘗試這樣的:

var $content = $('<div/>').html($('<h1>title</h1><h2 id="xx">remove me</h2><p>some content or other</p>')); 
$content.find('#xx').remove(); 
$('#output').append($content); 

Live demo

+0

@Pointy也打敗了你,但我喜歡Martin的簡單回答。 http://jsfiddle.net/userdude/NNcG5/7/ – 2012-07-14 15:02:17

+0

是的,但這個答案包括刪除節點的正確方法:-) – Pointy 2012-07-14 15:14:36

相關問題