2

所以我有一个无组织的列表:

<ul id="box">
   <li></li>
   <li></li>
   <li></li>
   <li></li>
</ul>

例如我想要第二个。我可以做这样的事情吗?:

$("#box li").[2].click();
4

7 回答 7

5

你可以这样做:

$("#box li").eq(2).click();
$("#box li:eq(2)").click();

或者

$("#box li:nth-child(3)").click();

请记住,:nth-child是一个 CSS 伪类,从 1 开始计数,eq():eq()是从 0 开始的数组索引。与 .nth-child(3)相同的元素也是如此eq(2)

检查这个小提琴可能会很有趣。

于 2013-09-07T13:41:44.720 回答
2

您可以在此处使用.eq():eq()

$("#box li").eq(2).click();
$("#box li:eq(2)").click();
于 2013-09-07T13:41:55.450 回答
1

您可以使用该.eq()功能。

$('#box li').eq(2).click();

请注意,第一个索引为零,所以如果你想要第二个元素,它就是元素 1。

于 2013-09-07T13:41:37.280 回答
1

您可以使用:eq()从零开始的选择器,因此第二个元素是:eq(1)

$("#box li:eq(1)").click();
于 2013-09-07T13:41:59.530 回答
1

如果 n 是一个变量,你可以使用

$('#box li:eq(' + variable + ')').click()
于 2013-09-07T14:04:18.990 回答
0
function clicklist(i){

$('#box li:eq(' + i+ ')').click()
}

然后,如果您想单击第一行,请执行

clicklist(0);

如果你想第四

clicklist(3);
于 2013-09-07T14:15:02.793 回答
-1

实际上,您的第一次猜测几乎是正确的。只需删除点。

$($("#box li")[2]).click(function(){
    alert('you clicked the third element');
});

这将适用于您的标记。=> http://jsfiddle.net/jju9J/

您还可以使用 eq() 函数;但基本的方法让你更好地理解你在做什么。

于 2013-09-07T14:15:53.600 回答