jQuery选择器by data-id - 从数组中选择许多id

时间:2012-07-27 15:33:59

标签: jquery jquery-selectors

在显示项目列表的模式表单上,我想标记已选择的项目。有没有办法一次选择几个元素提供一组id?

示例:

$('.searchable').find('[role~=item]')

返回

<tr role=​"item character" data-id=​"1">​…​</tr>​
<tr role=​"item character" data-id=​"2">​…​</tr>​
<tr role=​"item character" data-id=​"3">​…​</tr>​
<tr role=​"item character" data-id=​"4">​…​</tr>​

但是我想标记已经选择的项目,为它们添加“选定”类。我得到了一个数组中的选定项目。示例:array = [1,3]

有没有办法做这样的事情:

$('.searchable').find('[role~=item][data-id=array')

2 个答案:

答案 0 :(得分:2)

您可以通过使用每个数组来执行数组,并在数组中的每个元素中执行操作,

 jQuery.each(array, function(i, item) {
     $(item).data("id");  
 };

或者你可以试试这样的事情,

var filtered = $('.searchable').find(function(){
   if(array.indexOf(this.val(), 0)
        return $(this);
});

答案 1 :(得分:1)

var Array = [1,3], 
    elems;

$.each(Array, function(i,e) {
    elems.add( $('[role~=item][data-id="'+e+'"]', '.searchable') );
});

elems.addClass('highlight');