5

jQueryを使用してインデックスで複数の要素を取得する方法はありますか? .eq()のようなものですが、単一のインデックスの代わりに配列を渡すことができますか?このようなもの:

var arrIndexes = [0, 4, 5];
var stuff = $("#datatable tbody tr").eq(arrIndexes).css('background-color', 'red');
4

2 に答える 2

8

filter(index)の最初の引数を使用して、indexOfで検索するだけです。

var arrIndexes = [0, 4, 5];
$("#datatable tbody tr").filter(function(index) {
    return arrIndexes.indexOf(index) > -1;
}).css('background-color', 'red');

デモ: http: //jsbin.com/ivexut/1/

古いブラウザが必要な場合は、関数indexOfを追加する必要がある場合があります:https ://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array/indexOf

于 2012-08-07T17:31:43.520 に答える
3

jqueryのフィルター関数を使用して、セレクターによって返されるオブジェクトのコレクションにカスタムフィルターを適用できます。フィルターの詳細については、こちらをご覧ください。

ライブデモ

$("#datatable tbody tr").filter(function(){
   if(arrIndexes.indexOf($(this).index()) != -1)
       return $(this);
}).css('background-color', 'red');
于 2012-08-07T17:25:38.057 に答える