0

我有这样的事情:

  • 第一级 1
    • 2 级 1
      • 第三级
      • 第三级 2
    • 第 2 级 2
  • 第一级 2

我想将类添加到包含锚标记的 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 列表的 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>

4

2 回答 2

1

您正在选择 后面的元素a,而不是后面的li. 改用这个:

$('li > a').parent().next().addClass('makebold');
于 2012-02-11T18:00:45.283 回答
0

这个怎么样:

$('li > a').parent().find('li').addClass('makebold');

选择作为子元素的 li 元素的后代的 li 元素。我希望我正确理解了你的问题。根据其他答案,我只能假设我们中的一些人不明白您的要求。

于 2012-02-11T18:07:04.533 回答