[英]Traversing an unordered list -jQuery
我有这样的事情:
我想对所有包含li元素的li元素后面的所有兄弟li元素添加class。
我尝试这样做
$(li>a).next().addClass('makebold');
$(li> a)确实选择了第一个级别的 li元素,然后根据next()选择了紧随其后的选定/匹配元素的同级元素,应通过添加类来使BOLD变为大胆的元素必须是第一级2 。
but the li elements-of 2nd and 3rd level are getting bold . I am wondering why ?
这是我的ul列表的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>
您选择的是a
后面的元素,而不是li
后面的元素。 使用此代替:
$('li > a').parent().next().addClass('makebold');
这个怎么样:
$('li > a').parent().find('li').addClass('makebold');
选择作为具有锚元素的li元素的后代的li元素作为子元素。 希望我已正确理解您的问题。 根据其他答案,我只能假设我们中有些人不了解您的要求。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.