我有这样的事情:
我想将addClass添加到包含锚标记的li元素之后的所有同级li元素。
我试过这个
$(li>a).next().addClass('makebold');
$(li> a)会选择第一级1 li元素,然后根据 next()选择所选/匹配的紧随其后的兄弟元素,通过添加类应该变为BOLD的元素必须是第一级2 。
but the li elements-of 2nd and 3rd level are getting bold . I am wondering why ?
这是我的ul list的html代码
<ul>
<li><a href="">first level 1</a>
<ul>
<li>2nd level 1
<ul>
<li><a href="">3rd level</a></li>
<li>3rd level 2</li>
</ul>
</li>
<li>2nd level 2</li>
</ul>
</li>
<li>first level 2</li>
</ul>
答案 0 :(得分:1)
您正在选择a
后面的元素,而不是li
之后的元素。请改用:
$('li > a').parent().next().addClass('makebold');
答案 1 :(得分:0)
这个怎么样:
$('li > a').parent().find('li').addClass('makebold');
选择作为li元素后代的li元素,这些元素具有锚元素作为子元素。我希望我能正确理解你的问题。基于其他答案,我只能假设我们中的一些人不明白你的要求。