リストがありul
ます。その中に、いくつかli
のがあります。クラスに子がないli
すべてのを削除したい。noremove
これが私の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"
クラスの子がいないため、アイテム3.2は削除されています。
それを行うスクリプトを作成するにはどうすればよいですか?リスト上で再帰的に実行する必要がありますが、その方法がわかりません。