Joh*_*nor 4 javascript jquery nested-lists
我有这样的嵌套列表:
<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>
Run Code Online (Sandbox Code Playgroud)
有什么办法可以根据它们的深度级别添加一个类,所以输出是这样的吗?
<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>
Run Code Online (Sandbox Code Playgroud)
我是jQuery的新手,试过这个:
$("ul").each(function(index, element){$(element).attr("class", "level-" + index);});
Run Code Online (Sandbox Code Playgroud)
...但它只根据索引计算ul.任何帮助深表感谢!
试试这个:
$('ul').each(function() {
var depth = $(this).parents('ul').length;
$(this).addClass('level-' + depth);
});
Run Code Online (Sandbox Code Playgroud)
见http://jsfiddle.net/alnitak/YSZFm/