【发布时间】:2023-08-30 19:32:01
【问题描述】:
我有这个嵌套的 ul,它们是父级 -> 子级 -> (大)子级。
如何使用 jQuery 来发现每个级别,并为其添加一个类,以便我可以为每个级别设置不同的样式?
会是这样的:
我不能用 CSS 做到这一点,因为它至少需要在 IE 7 上正常工作
<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 添加的 here
$('li.cat-item:has(ul.children)').addClass('i-have-kids');
但它并没有真正起作用,因为它只是查找有子元素的元素,并且不按级别分隔,正如您在标记中看到的那样。
【问题讨论】:
标签: jquery html css content-management-system markup