我想动态使用 jQuery :eq(index) 选择器,这意味着我想提供一个变量作为索引并动态选择相应的元素。但它似乎不起作用。我认为这是因为引号。由于这个选择器被用作例如$('ul li:eq(3)'),当我提供一个变量作为索引时,索引可能被视为选择器中字符串的一部分而不是变量. 这样对吗?如何解决此问题并动态选择元素?
问问题
10152 次
2 回答
6
var index = 5;
以下内容适用于您的示例。
$('ul li:eq(' + index + ')')
但是为了在现代浏览器中获得更好的性能,请使用:
$('ul li').eq(index)
另一个原因.eq()
比:eq()
你可以通过 '.eq(-1)' 来获取最后一个元素更好。
于 2012-04-27T00:29:17.203 回答
3
您的怀疑是正确的,字符串中的变量名被视为字符串的一部分,而不是变量名。您想使用字符串连接让 Javascript 知道您的变量是一个变量。它看起来像这样:
$('ul li:eq(' + myVar + ')')
现在,myVar
被识别为变量,而不是字符串的一部分。
于 2012-04-27T00:21:44.147 回答