jQuery将类添加到某些元素

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

  • item 1
    • item 1.1
    • item 1.2
  • item 2
  • item 3
    • item 3.1
    • item 3.2
  • item 4

在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标记的子级。

你可以尝试:

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

我将在这里使用假设,你知道他们对他们的看法;)

如果要为所有ul项添加特定类,则:

 $('ul').addClass('class-addition'); 

并且您可以以相同的方式设置列表项的样式。

如果你想在li中添加类到ul,你可以使用:

 $('li > ul').addClass('class-addition'); 

使用父>子选择器。

我将看看Branislav提供的选择器文档,以准确找到您想要的内容并使用firebug来测试结果。

请您提供更多有关您案件的信息。 从我看到你需要简单的选择和添加类。 您可以在此处找到有关jquery选择器的信息,也可以在此处找到addClass方法