我需要在这个结构中选择每个ul的第一个lis:
<div>
<ul>
<li></li>
<li></li>
<li></li>
</ul>
<ul>
<li></li>
<li></li>
<li></li>
</ul>
</div>
我有这个选择器:container.find('div > ul > li:first')
但jquery引擎parese首先div > ul > li
然后根据:first
获取最终结果。但我想要每个ul的第一个li,例如:div > ul > (li:first)
。
我该如何解决这个问题?
答案 0 :(得分:8)
您需要:first-child
选择器:
说明:选择作为其父级的第一个子级的所有元素。
while:first只匹配一个元素,:first-child选择器可以匹配多个:每个父元素一个。这相当于:nth-child(1)。
参考:http://api.jquery.com/first-child-selector/
示例:强>
container.find('div ul > li:first-child');
或者,如果您有ul
个li
的多个级别:
container.find('div > ul > li:first-child');
答案 1 :(得分:1)
您正在寻找jQuery的each()函数:
$("#yourdiv ul").each(function(){
$(this).find("li:first");
});
答案 2 :(得分:0)
在li元素上使用“first-child”选择器
$(“ul li:first-child”)
答案 3 :(得分:0)
$("#mydiv ul").each(function(){
$('li:eq(0)',this);
});