使用javascript/Jquery向父子孙列表项添加类

使用javascript/Jquery向父子孙列表项添加类,javascript,jquery,Javascript,Jquery,我试图动态地将类添加到嵌套列表项中,即使子项和孙子项的计数发生变化 嵌套项示例如下所示: 父项:列表1 子项:列表11 孙子:列表111 孙子:列表1112 子项:列表12 孙子:列表121 孙子:列表122 问题是,如果我使用ul li ul添加类,它将应用于所有子项和孙子项。有没有办法将类分别添加到child、孙子、曾孙等等 $('ul li ul a').addClass('child') ulli a{ 颜色:红色 } .孩子{ 颜色:绿色; } a{ 文字装饰:无;

我试图动态地将类添加到嵌套列表项中,即使子项和孙子项的计数发生变化

嵌套项示例如下所示:

  • 父项:列表1
    • 子项:列表11
      • 孙子:列表111
      • 孙子:列表1112
    • 子项:列表12
      • 孙子:列表121
      • 孙子:列表122
问题是,如果我使用
ul li ul
添加类,它将应用于所有子项和孙子项。有没有办法将类分别添加到child、孙子、曾孙等等

$('ul li ul a').addClass('child')
ulli a{
颜色:红色
}
.孩子{
颜色:绿色;
}
a{
文字装饰:无;
}

父母1
              父母2

更新

我更新了代码以使用代码笔中给出的结构

有关jQuery遍历的所有信息都可以通过查看或阅读找到

下面的代码递归地搜索
  • 标记及其第一个

    $(函数(){
    CreateListHierarchy($(“#Parent1”),“list”);
    //CreateListHierarchy($(“#Parent2”),“list”);//添加此项对两个列表进行排序
    });
    函数CreateListHierarchy(父级,类名){
    让firstList=$(父).find('li:first');
    $(firstList).find('a:first').each(function(){
    $(this.addClass(className+'1');
    console.log($(this.text()+'),'+$(this.attr('class'));
    CreateListHierarchy(firstList,className+'1');
    });
    $(第一个列表)。同级('li')。每个(函数(sinblingIdx){
    让currentshibling=this;
    $(currentSibling).find('a:first')。each(函数(索引){
    $(this.addClass(className+(index+2));
    console.log($(this.text()+'),'+$(this.attr('class'));
    CreateListHierarchy(currentSibling,className+(索引+2));
    });
    });
    }
    .list1{
    颜色:红色;
    }
    .清单11{
    颜色:绿色;
    }
    .list1121、.list1122{
    颜色:浅蓝色;
    }
    
    父母1
    
    父母2

    更新

    我更新了代码以使用代码笔中给出的结构

    所有信息
    <div id="parent">
    .
    .
    </div>
    
    $('#parent ul li ul a').addClass('child');