0

我有一个填充有类的数组。我需要遍历这个数组并隐藏该特定类的任何元素。

// Array of classes
// hide.length ~ 100

这是我目前的实现:

// Hide all elements with these class names
$.each(hide, function(key, filter_class){
  $('li.'+filter_class, '.result_row_items').hide();
});

我相信这将是一种更有效(性能方面)的方式:

for(i=0;i<hide.length;i++){
  $('li.'+hide[i], '.result_row_items').hide();
}

这会更好吗?

// Create string of class names
var classes = '';
for(i=0;i<hide.length;i++){
  classes += 'li.'+ hide[i] + ', '
}
// Remove trailing comma and space
classes = classes.substring(0, classes.length - 2);
$(classes, '.result_row_items').hide();
4

2 回答 2

0

也许是这样的?

$(hide).filter('.class').hide();

或者

for (var i = 0; class = classes[i++];) {
    $('li.'+ class).hide();
}
于 2012-08-22T14:38:19.463 回答
0

那样的事情怎么样?

$("li." + hide.join(",li."), ".result_row_items").hide();

演示:http: //jsfiddle.net/B9fXP/

于 2012-08-22T14:30:17.827 回答