2016-11-21 64 views
0

我想要做的事:是否有可能使用jquery從分離的dom樹中刪除dom節點?

$domTree = $('<div class="container"><div class="first">first</div><div class="second">second</div></div>') 
$domTree.remove('.first') 
$dom.html() // Should contain second div only 

我能得到什麼:第一和第二的div都存在。

我在做什麼錯了?什麼是正確的方法?

+0

我認爲'$ DOM。 html();'在'$ domTree.move();'完成之前執行。你可以在'setTimeout();' –

回答

1

是的,你可以使用find獲得元素和remove將其刪除,end用於返回回容器

$domTree = $('<div class="container"><div class="first">first</div><div class="second">second</div></div>').find('.first').remove().end(); 
$domTree.html(); 

$domTree = $('<div class="container"><div class="first">first</div><div class="second">second</div></div>').find('.first').remove().end(); 
 
    console.log($domTree[0]);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

+1

中使用'end'來測試這個功能 – Mahi

+0

雖然這不會讓你回到'#容器'!它只記錄'.second' div。 – Jamiec

+0

它的工作原理。而且,如果你跳過'end',則不會。嗯。爲什麼? –