jQuery选择器,对属性进行按位运算

时间:2012-01-19 10:58:22

标签: jquery jquery-selectors

我有一些代码:

var type    = li.attr('type');
$('tbody tr td a', table).each(function() {
 if ($(this).is('[type]') && $(this).attr('type') & type) {
   $(this).show();
  }
  else {
   $(this).hide();
 }
});

它按预期工作,但有两个问题:

  1. 是否可以在没有每个功能的情况下实现此功能? $('tbody tr td a[type&=' + type).show();或类似的东西?
  2. 另一个问题是每次迭代都很慢。我注意到了 延迟300个对象,同时简单操作所有元素 selector:$('tbody tr td a',table).show();工作得很快。

1 个答案:

答案 0 :(得分:1)

我认为我们可以使用钳工,例如

 $.extend(  
     jQuery.expr[":"], {  
         istype: function(elem) {  
             return $(elem).attr('type');  
         }
     }  
 );  

 $("li:istype").hide();  

但是我需要你的html来提供最快的代码,请为我提供