2016-11-21 76 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',则不会。嗯。为什么? –