javascript - 使用 jQuery 为嵌套列表元素添加计数类

标签 javascript jquery

我有这个 HTML:

  <ul class="parent">
    <ul>
      <li>
        <ul></ul>
      </li>
      <li>
        <ul>
          <li>
            <ul></ul>
          </li>
        </ul>
      </li>
    </ul>
  </ul>

我需要为此标记中的所有嵌套列表添加计数类,以达到此目的:

  <ul class="parent">
    <ul class="level-1">
      <li>
        <ul class="level-2"></ul>
      </li>
      <li>
        <ul class="level-2">
          <li>
            <ul class="level-3"></ul>
          </li>
        </ul>
      </li>
    </ul>
    <ul class="level-1">
      <li>
        <ul class="level-2"></ul>
      </li>
      <li>
        <ul class="level-2">
          <li>
            <ul class="level-3"></ul>
          </li>
        </ul>
      </li>
    </ul>
  </ul>

所以我这样做:

var parent_ul = $('.parent');

if (parent_ul.doesExist()){
    var parent_ul_lists = parent_ul.find('ul');

    parent_ul_lists.each(function(){
        var i;
        for (i = 0; i < parent_ul_lists.length; i++) {
            $(this).eq(i).addClass('level-' + i);
        }
    })
}

但在输出中,我对所有父级列表子级进行了类测试level-1。有人可以帮忙吗?

最佳答案

试试这个

$('.parent ul').addClass(function(){
   return "level-"+$(this).parents('ul').length;
});

DEMO

关于javascript - 使用 jQuery 为嵌套列表元素添加计数类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22354403/

相关文章:

javascript - 箭头函数的这个值用作函数表达式或对象的方法

javascript - 在 React JS 中使用 Axios 迭代数据

javascript - AJAX 中的 AJAX 没有按预期工作?

javascript - 在 HighCharts 中使用负堆栈在条形图中绘制线条

jquery - 如何控制ajax请求中的缓存控制

javascript - *ngFor 中的 Angular 内容投影是否共享相同的数据?如何从父访问子组件的项目内容?

JavaScript - 如何从上到下滚动 li 元素

php - Javascript 函数调用 php foreach。是否可以?

javascript - PreventDefault() 不适用于特定选项选择

jquery - 如何查找最接近具有特定文本值的按钮的表单