2012-01-19 163 views
0

位操作我有一些代碼:jQuery選擇與屬性

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個對象的延遲,而對於 中的所有元素的簡單操作都是這樣的:$('tbody tr td a',table).show();工作速度非常快。

回答

1

我想我們可以用鉗工它,例如

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

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

但我需要充滿你的HTML的給予最快的代碼,請給它一個我

+0

通過以下鏈接(一)元素在具有'type'屬性的表單元格中。我需要通過按位操作來篩選它們,具體取決於按下的是什麼。李還有'type'屬性。 – marukas

+0

對不起,但我不明白,你可以轉到http://jsfiddle.net並給我一個最快的代碼的生動的例子;謝謝你 :) –