Селектор jQuery с побитовыми операциями над атрибутом - PullRequest
0 голосов
/ 19 января 2012

У меня есть некоторый код:

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', таблица) .show ();работает довольно быстро.

1 Ответ

1 голос
/ 19 января 2012

Я думаю, что мы можем использовать более подходящий вариант, например

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

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

Но мне нужен полный HTML, чтобы дать самый быстрый код, пожалуйста, дайте его мне

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...