使用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
- 子项:列表11
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');