我有这个标记:
<UL>
<LI class=odd>bla</LI>
<LI class=even>bla</LI>
<LI class=odd>bla</LI>
<LI class=even>bla</LI>
<LI class=odd>bla</LI>
<LI class=even>bla</LI>
</UL>
我的问题:如何使用一个选择器选择所有lis,如“with class odd OR even”? 我不能简单地只使用$(“li”),因为li也可能包含li的
感谢
答案 0 :(得分:4)
$('li.odd, li.even');
答案 1 :(得分:3)
你不需要编写这些课程;你可以简单地写一下
$('ul.Root > li')
这将选择<li>
的所有<ul>
元素<{1}},其中Root
类为<li>
。
它不会选择任何嵌套的<ul>
。
您可以使用您想要的任何类或ID选择器选择父{{1}}。
答案 2 :(得分:2)
首先,您需要将标记更改为小写,并将您的类放在引号中。
<ul>
<li class="odd">bla</li>
<li class="even">bla</li>
<li class="odd">bla</li>
<li class="even">bla</li>
<li class="odd">bla</li>
<li class="even">bla</li>
</ul>
然后你可以这样选择它们
$('li.odd, li.even')
更好的方式...
<ul id="theUl">
<li class="odd">...</li>
<li class="even">...</li>
<li class="odd">...</li>
<li class="even">...</li>
<li class="odd">...</li>
<li class="even">...</li>
</ul>
和
$('#theUl li')
答案 3 :(得分:2)
试一试:
$("li.odd, li.even")
顺便说一下,你应该使用小写标签。
答案 4 :(得分:2)
就像尼克斯皮尔斯所说,但请确保为效率添加标签名称
$("li.even") // selects only even class
$("li.odd") // selects only odd class
$("li.even, li.odd") // selects both odd and even
请注意,如果您创建的选择器没有标记名称而只有类。 jQuery必须迭代所有DOM元素才能找到匹配项。如果你是我们的标记名,那么jQuery使用document.getElementsByTagname()来提高效率。
答案 5 :(得分:1)
类选择器
$("li.even") or $("li.odd")
用两个类中的任何一个来获取所有li:
$("li.even, li.odd")
答案 6 :(得分:0)
给你的第一个ul一个类或id:
<ul class="something">
</ul>
$('ul.something > li.even, ul.something > li.odd')
这只获得最高的李