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

これは私がやろうとしていることですが、機能していません。さらに、その後のコードが壊れています。私は何を間違っているのですか?

4

1 に答える 1

8

このようなインデックスを使用すると、DOM要素が返されるため、jQueryメソッドは返されません。

.eq()代わりに、jQueryでラップされたまま、そのインデックスでDOM要素を返すために使用します。

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

セレクター:eqもありますが、フォームと使用法の点でメソッドバージョンとわずかに異なります。インデックスはセレクター文字列の一部であるため、動的な値を使用する場合は、文字列を切り取る必要があります。

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

さらに情報:あなたがしたことは、そのインデックスで、jQueryにラップされていない.get()DOM要素を返すaに似ていました:

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