親 - >子 - >(孫)子レベルであるこのネストされたulがあります。
jQuery を使用して、クラスを追加するすべてのレベルを見つけて、各レベルを異なるスタイルにするにはどうすればよいですか?
次のようになります。
少なくともIE 7ではうまく動作する必要があるため、CSSではできませんでした
<ul class="lista-regioes">
<li class="cat-item cat-item-3 i-have-kids">
<a href="http://localhost/poraidemochila/site/?local-destino=brasil" title="Ver todos os posts arquivados em Brasil">Brasil</a>
<ul class="children">
<li class="cat-item cat-item-13">
<a href="#" title="#">Norte</a>
</li>
<li class="cat-item cat-item-4 i-have-kids">
<a href="#" title="#">Sul</a>
<ul class="children">
<li class="cat-item cat-item-5">
<a href="http://localhost/poraidemochila/site/?local-destino=parana" title="Ver todos os posts arquivados em Paraná">Paraná</a>
</li>
</ul>
</li>
</ul>
</li>
</ul>
クラスは動的.cat-item
に.cat-item-#
生成されるため、css で使用することはできません。クラスは、ここで.i-have-kids
見つけた次の js によって追加されます。
$('li.cat-item:has(ul.children)').addClass('i-have-kids');
しかし、マークアップでわかるように、子を持つ要素を探し、レベルで区切らないため、実際には機能しません。