jQueryを使用してインデックスで複数の要素を取得する方法はありますか? .eq()のようなものですが、単一のインデックスの代わりに配列を渡すことができますか?このようなもの:
var arrIndexes = [0, 4, 5];
var stuff = $("#datatable tbody tr").eq(arrIndexes).css('background-color', 'red');
jQueryを使用してインデックスで複数の要素を取得する方法はありますか? .eq()のようなものですが、単一のインデックスの代わりに配列を渡すことができますか?このようなもの:
var arrIndexes = [0, 4, 5];
var stuff = $("#datatable tbody tr").eq(arrIndexes).css('background-color', 'red');
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
jqueryのフィルター関数を使用して、セレクターによって返されるオブジェクトのコレクションにカスタムフィルターを適用できます。フィルターの詳細については、こちらをご覧ください。
$("#datatable tbody tr").filter(function(){
if(arrIndexes.indexOf($(this).index()) != -1)
return $(this);
}).css('background-color', 'red');