jQuery:eq(索引)选择器

时间:2012-04-27 00:19:16

标签: jquery jquery-selectors

我想动态使用jQuery:eq(index)选择器,这意味着我想提供一个变量作为索引并动态选择相应的元素。但似乎它不起作用。我认为这是因为引号。因为这个选择器被用作例如$('ul li:eq(3)'),当我提供一个变量作为索引时,索引可能被视为选择器中字符串的一部分而不是变量。这样对吗?如何解决此问题并动态选择元素?

2 个答案:

答案 0 :(得分:6)

var index = 5;

以下内容适用于您的示例。

$('ul li:eq(' + index + ')')

但是为了在现代浏览器中获得更好的性能,请使用:

$('ul li').eq(index)

.eq()优于:eq()的另一个原因是您可以通过'.eq(-1)'来获取最后一个元素。

来源:http://api.jquery.com/eq-selector/

答案 1 :(得分:3)

您的怀疑是正确的,字符串中的变量名称被视为字符串的一部分,而不是变量名称。你想使用字符串连接让Javascript知道你的变量是一个变量。它看起来像这样:

$('ul li:eq(' + myVar + ')')

现在,myVar被识别为变量,而不是字符串的一部分。