jQuery将类添加到某些元素

jQuery将类添加到某些元素,jquery,list,dom-manipulation,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<

我有这样的多级菜单:

<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将类添加到所有列表中。 我希望jQuery只将类添加到第一级(ul>li.class),而不是内部子类(ul>li>ul>li.class)


谢谢

请您提供更多关于您的案例的信息。据我所知,您需要简单的选择和添加类。你可以找到关于

的信息,我将在这里使用假设,你知道他们是怎么说的;)

如果您想向所有ul项目添加特定类别,则:

$('ul').addClass('class-addition');
您可以用同样的方式设置列表项的样式

如果要在li中向ul添加类,可以使用:

$('li > ul').addClass('class-addition');
使用父项>子项选择器

我想看看Branislav提供的selectors文档,找到您想要的内容,然后使用firebug测试结果。

您可以尝试:

$("#divId ul li:not(#divId ul li ul li):odd").addClass("blue");
$("#divId ul li:not(#divId ul li ul li):even").addClass("green");
这应该起作用:

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

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

您有这样的多级菜单吗?继续!也许有个问题?
$("#divId ul:first > li:odd").addClass("blue"); 
$("#divId ul:first > li:even").addClass("green");