1

我需要在这个结构中选择每个 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 引擎首先解析div > ul > li,然后根据:first. 但我想要每个 ul 的第一个 li,例如:div > ul > (li:first)

我该如何解决这个问题?

4

4 回答 4

8

你想要:first-child选择器:

描述:选择作为其父元素的第一个子元素的所有元素。

虽然 :first 只匹配一个元素,但 :first-child 选择器可以匹配多个:每个父元素一个。这相当于:nth-child(1)。

参考:http ://api.jquery.com/first-child-selector/

例子:

container.find('div ul > li:first-child');

或者,如果您有多个级别的ul包含li's:

container.find('div > ul > li:first-child');
于 2012-04-17T08:49:09.353 回答
1

您正在寻找 jQuery 的 each() 函数:

http://api.jquery.com/each/

$("#yourdiv ul").each(function(){
    $(this).find("li:first");
});
于 2012-04-17T08:53:05.963 回答
0
$("#mydiv ul").each(function(){
 $('li:eq(0)',this);
});
于 2012-04-17T09:46:10.983 回答
0

在 li 元素上使用“first-child”选择器

$("ul li:first-child")

于 2012-04-17T08:54:34.420 回答