jQuery 为某些元素添加类

标签 jquery list dom-manipulation

我有一个像这样的多级菜单:

<ul>
  <li>item 1
    <ul>
      <li>item 1.1</li>
      <li>item 1.2</li>
    </ul>
  </li>
  <li>item 2</li>
  <li>item 3
    <ul>
      <li>item 3.1</li>
      <li>item 3.2</li>
    </ul>
  </li>
  <li>item 4</li>
</ul>

在 jQuery 中我有

$("#divId ul li:odd").addClass("blue");
$("#divId ul li:even").addClass("green");

问题是 jQuery 将类添加到所有列表中。 我希望 jQuery 将类添加到第一级 (ul > li.class),而不是内部子级 (ul > li > ul > li.class)

谢谢

最佳答案

这应该有效:

$("#divId ul:first > li:odd").addClass("blue"); 
$("#divId ul:first > li:even").addClass("green"); 

它将把类添加到 divId 中找到的第一个 ul 标记的子级中。

关于jQuery 为某些元素添加类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2011474/

相关文章:

python - 获取二维数组中最近的坐标

ios - 滚动后 SwiftUI 列表单元格未正确显示选择状态

jquery - 如何将隐藏输入附加到另一个输入的文本

jquery - 滚动后固定 Bootstrap 导航栏

javascript - 最多显示 10 种可用产品

ajax - 返回自动下载JQuery Ajax调用

Python 连接与列表追加速度

javascript - 渲染表行而不绑定(bind)性能

reactjs - React + Redux 中 dom 操作的复杂性

javascript - 如何访问函数中创建的对象