2

単一要素の場合は jQuery('#elem').get(0) を使用できますが、複数選択のノード要素を取得する方法はありますか:

のように: jQuery('.elements').getAll(0) ?

解決策があれば、ループの反復なしで探しています。

4

2 に答える 2

3

それを行うための単一の方法は存在しません。あなたが持っている他の唯一のオプションは、に引数を渡さないことによって、一致したすべて.get()のノードを取得することです:

var all = jQuery('.elements').get();

.get()ただし、同じことを達成するために呼び出す前に、一致したセットを必要な要素に減らすことができます。を使用.slice()して、2 つのインデックス間で一致した要素のサブセットを返すことができます。

var all = jQuery('.elements').slice(1, 3).get();

それ以外では、.filter()特定のインデックスで要素を返すために何らかの形式の反復 (例: ) を使用し、.get()再度使用することをお勧めします。

var all = jQuery('.elements').filter(function (i) {
    return i === 2 || i === 5 || i === 9;
}).get();
于 2012-11-29T08:41:57.510 に答える
1

選択を使用するだけです...

単発クラスの場合

$('.elements').get() // It will return all the DOM elements have class="elements <other_classes>"

複数クラスの場合

$('.elements, .nav, .address').get() // It will get all the DOM elements has either of these classes.
于 2012-11-29T08:42:26.883 に答える