4

jQuery :eq(index) セレクターを動的に使用したいということは、インデックスとして変数を提供し、対応する要素を動的に選択したいということです。しかし、うまくいかないようです。引用符が原因だと思います。このセレクターはたとえば $('ul li:eq(3)') として使用されるため、インデックスとして変数を指定すると、インデックスは変数ではなくセレクターの文字列の一部として表示される可能性があります. そうですか?これを修正して要素を動的に選択するにはどうすればよいですか?

4

2 に答える 2

6
var index = 5;

あなたの例では、次のように動作します。

$('ul li:eq(' + index + ')')

ただし、最新のブラウザーでパフォーマンスを向上させるには、次を使用します。

$('ul li').eq(index)

もう 1 つの理由は、 '.eq(-1)' を渡して最後の要素を取得できること.eq()よりも優れています。:eq()

ソース: http://api.jquery.com/eq-selector/

于 2012-04-27T00:29:17.203 に答える
3

あなたの疑いは正しいです。文字列内の変数名は、変数名ではなく、文字列の一部として扱われます。文字列連結を使用して、Javascript に変数が変数であることを認識させたいと考えています。次のようになります。

$('ul li:eq(' + myVar + ')')

現在、myVar文字列の一部としてではなく、変数として認識されています。

于 2012-04-27T00:21:44.147 に答える