javascript - 向嵌套列表类添加级别深度

标签 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>

有什么方法可以根据它们的深度级别向其中添加一个类,以便输出是这样的吗?

<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);
});

参见 http://jsfiddle.net/alnitak/YSZFm/

关于javascript - 向嵌套列表类添加级别深度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6424635/

相关文章:

javascript - 获取已选中和未选中的复选框值

javascript - Google Apps 脚本 - 检查电子邮件是否已正确发送

php - "self-referencing"表和数组

javascript - 防止多次执行JS函数/表单提交

python - 如何将嵌套列表转换为字典?

python - 将列表拆分为值上的嵌套列表

javascript - Google 广告管理系统 (DFP) 中是否会阻止分析事件?

javascript - Bootstrap 标签输入发送带空格的 POST

java - 关于 XSS 的一些说明

html - CSS 计数器 - 递增深度嵌套列表