我有一个ul
列表。在那里,有一些li
s。我想删除所有li
即不要有孩子noremove
。删除所有没有特定类别的li
这里是我的HTML:脚本运行
<ul>
<li>Item 1</li>
<li>Item 2
<ul>
<li>Item 2.1</li>
<li>Item 2.2</li>
<li>Item 2.3</li>
</ul>
</li>
<li>Item 3
<ul>
<li class="noremove">Item 3.1</li>
<li>Item 3.2</li>
</ul>
</li>
<li class="noremove">Item 4
<ul>
<li>Item 4.1</li>
<li>Item 4.2</li>
</ul>
</li>
<li>Item 5
<ul>
<li>Item 5.1
<ul>
<li class="noremove">Item 5.1.1</li>
</ul>
</li>
</ul>
</li>
</ul>
后,我希望它看起来像这样:
<ul>
<li>Item 3
<ul>
<li class="noremove">Item 3.1</li>
</ul>
</li>
<li class="noremove">Item 4</li>
<li>Item 5
<ul>
<li>Item 5.1
<ul>
<li class="noremove">Item 5.1.1</li>
</ul>
</li>
</ul>
</li>
</ul>
正如你可以看到,第3项不会被删除,因为它有一个class="noremove"
的子节点。然而,第3.2项被删除,因为它没有class="noremove"
也没有任何班级的孩子。
我该如何制作一个脚本来做到这一点?它需要在列表上递归运行,我想不出如何做到这一点?
这很好!谢谢! – Elias
是否可以调整代码,因此它不会删除.noremove的子项?因此,项目4.1和项目4.2不会被删除(我知道他们在我的例子中,但改变了我的想法)。 – Elias
没有真正测试过,但像这样:http://jsfiddle.net/kNvyF/3/应该做到这一点。 – voigtan