2
$('.aClass')[index].addClass('newClass');

这就是我想要做的,但它不起作用,而且它破坏了它之后的代码。我究竟做错了什么 ?

4

1 回答 1

8

当使用这样的索引时,它返回 DOM 元素,因此没有 jQuery 方法。

改用.eq()返回该索引处的 DOM 元素,同时仍由 jQuery 包装

//as a function call
$('.aClass').eq(index).addClass('newClass');

还有一个选择器:eq,在形式和用法上与方法版本略有不同。索引是选择器字符串的一部分,因此如果使用动态值,则必须剪切字符串:

//the selector version:
$('.aClass:eq('+index+')').addClass('newClass');

另外信息:您所做的类似于 a在该索引处.get()返回 DOM 元素,而不是包装在 jQuery中:

//the same thing
$('.aClass').get(index)
$('.aClass')[index]
于 2012-05-29T13:45:55.120 回答