我想在li标签中添加一个名为“with_ul”的类,其中在jquery下面的正常列表中有ul。
在下面的例子中,我需要将类添加到Level 1-B,Level 2-B-1和Level 1-C的列表,因为它们有一个无序列表。
<ul id="nav">
<li>Level 1-A</li>
<li>Level 1-B
<ul>
<li>Level 2-B-1
<ul>
<li>Level 3-B-1</li>
</li>
<li>Level 2-B-2</li>
</ul>
</li>
<li>Level 1-C
<ul>
<li>Level 2-C-1</li>
</ul>
</li>
...
...
</ul>
提前致谢。
答案 0 :(得分:3)
$("li ul").parent().addClass('with_ul')
答案 1 :(得分:2)
您可以使用:has()
selector选择包含特定后代的所有元素
例如:
$('li:has(ul)').addClass('with_ul');
如果您只想选择直接包含 <li>
的{{1}}代码,您可以写
<ul>
击> <击> 撞击>
答案 2 :(得分:0)
Aaron的答案工作正常,我只会略微修改它,因为子项继承了父母的样式,Level-1B下的所有内容看起来都一样,很高兴添加.no_url class:
$("ul#nav li").addClass("no_ul"); $("ul#nav li>ul").parent().removeClass("no_ul").addClass("with_ul");
编辑:Slaks甚至更好;)