我有这样的嵌套列表:
<ul>
<li>item 1</li>
<li>item 2
<ul>
<li>subitem 1</li>
<li>subitem 2</li>
<ul>
<li>sub-subitem1</li>
</ul>
</li>
</ul>
</li>
<li>item 3
<ul>
<li>subitem 1</li>
</ul>
</li>
</ul>
有什么方法可以根据它们的深度级别向其中添加一个类,以便输出是这样的吗?
<ul class="level-0">
<li>item 1</li>
<li>item 2
<ul class="level-1">
<li>subitem 1</li>
<li>subitem 2</li>
<ul class="level-2">
<li>sub-subitem1</li>
</ul>
</li>
</ul>
</li>
<li>item 3
<ul class="level-1">
<li>subitem 1</li>
</ul>
</li>
</ul>
我是 jQuery 的新手,试过这个:
$("ul").each(function(index, element){$(element).attr("class", "level-" + index);});
...但它仅根据 ul 的索引对其进行计数。非常感谢任何帮助!
最佳答案
试试这个:
$('ul').each(function() {
var depth = $(this).parents('ul').length;
$(this).addClass('level-' + depth);
});
关于javascript - 向嵌套列表类添加级别深度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6424635/