我有一个像这样的多级菜单:
<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&gt; li.class)而不是内部子项(ul&gt; li&gt; ul&gt; li.class)
由于
答案 0 :(得分:3)
这应该有效:
$("#divId ul:first > li:odd").addClass("blue");
$("#divId ul:first > li:even").addClass("green");
它会将类添加到divId中找到的第一个ul标记的子元素。
答案 1 :(得分:2)
$("#divId ul li:not(#divId ul li ul li):odd").addClass("blue");
$("#divId ul li:not(#divId ul li ul li):even").addClass("green");
答案 2 :(得分:1)
我将在这里使用假设,你知道他们对他们的看法;)
如果要为所有ul项添加特定类,则:
$('ul').addClass('class-addition');
你可以用同样的方式设置列表项的样式。
如果你想在li中添加类到li,你可以使用:
$('li > ul').addClass('class-addition');
使用父母&gt;儿童选择器。
我看看Branislav提供的选择器文档,找到你想要的东西,并使用firebug来测试结果。
答案 3 :(得分:0)
请您提供有关您案件的更多信息。从我看到你需要简单的选择和添加类。您可以在jquery selectors here和addClass method here
上找到相关信息