3

children変数に保持する jQueryの配列があります。

var panels = panelsHolder.children('div');

今、私はそれらの子の1つだけに対処したいと思います、そして私はそのインデックスを知っているので、私は次のようにします:

panels[currentpanel].addClass('show')

panels[currentpanel]しかし、によって返されるオブジェクトはjQueryオブジェクトではなく、プレーンDOM要素であるため、エラーが発生します。したがって、これをjQueryオブジェクトに変換する必要があります-次のように:jQuery(panels[currentpanel])-しかし、そのオブジェクトを配列からjQueryオブジェクトとして取得する方法が必要です。

それ、どうやったら出来るの?

4

3 に答える 3

3

現在取得しているように、DOM の代わりにeq()を使用して jQuery オブジェクトを取得する必要があります。

panels.eq(currentpanel).addClass('show')
于 2013-03-18T11:11:13.780 に答える
1

問題は、currentpanelインデックスを取得するpanelsと、jQuery オブジェクトではなくプレーンな DOM オブジェクトが取得されることです。これを で囲むことで修正できます$()

$(panels[currentpanel]).addClass('show');

編集:オブジェクトをjQueryオブジェクトに再度「キャスト」する必要があるため、これはすばやく汚い方法のように見えます。Adilが示唆するように eq() が進むべき道です

panels.eq(currentpanel).addClass('show')
于 2013-03-18T11:11:22.173 に答える
1

.eq(index).addClass('show')jQueryで使用できます

于 2013-03-18T11:11:53.250 に答える