$('.aClass')[index].addClass('newClass');
这就是我想要做的,但它不起作用,而且它在它之后破坏了代码。 我做错了什么?
答案 0 :(得分:8)
当使用这样的索引时,它返回DOM元素,因此没有jQuery方法。
使用.eq()
代替在仍被jQuery 包装时返回该索引处的DOM元素:
//as a function call
$('.aClass').eq(index).addClass('newClass');
还有a selector :eq
,在形式和用法方面与方法版本略有不同。索引是选择器字符串的一部分,因此如果使用动态值,则必须剪切字符串:
//the selector version:
$('.aClass:eq('+index+')').addClass('newClass');
另外的信息:你所做的是类似于.get()
,它在该索引处返回DOM元素未包装在jQuery 中:
//the same thing
$('.aClass').get(index)
$('.aClass')[index]