我有一個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