5

有没有办法使用 jQuery 通过索引获取多个元素——比如.eq(),但是你可以传入一个数组而不是单个索引?像这样的东西:

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

2 回答 2

8

只需使用过滤器(索引)中的第一个参数并使用 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 回答