变量来保存多个选择器

时间:2012-11-29 13:47:31

标签: jquery variables

我有很多选择器,我需要在脚本中多次操作。

到目前为止,我已经这样做了:

var allSelectors3 = $('#icon20,#icon21,#icon22,#icon23,#icon24,#icon25,#icon26,#icon27,#icon28,#icon29,#icon30,#icon31,#icon32');
var allSelectors2 = $('#icon12,#icon13,#icon14,#icon15,#icon16,#icon17,#icon18,#icon19'); 
var allSelectors = $('#icon2,#icon3,#icon4,#icon5,#icon6,#icon7,#icon8,#icon9,#icon10,#icon11');

$(allSelectors).show();
$(allSelectors2, allSelectors3).hide();

这是最好的方法吗?

2 个答案:

答案 0 :(得分:3)

不,不需要第二个$()

var allSelectors = $('#icon20,#icon21,#icon22,#icon23,#icon24,#icon25,#icon26,#icon27,#icon28,#icon29,#icon30,#icon31,#icon32');
allSelectors.show()

组合2个列表使用.add

allSelectors2.add(allSelectors3).hide();

答案 1 :(得分:0)

由于没有人提及 jQuery性能规则,因此这里是performance rules

在变量中声明选择器很好(如果你有大量的变量),我看到你正确地做了。

另一种选择是将一个类添加到Selectors1中的每个元素class="selector1",依此类推。然后使用:

$(".Selectors").show();
$(".Selectors2").hide();
$(".Selectors3").hide();

这看起来很好看,但是当您阅读性能规则时,按类和其他属性选择的速度较慢。

同样不需要第二个$()。直接使用:

var allSelectors3 = $('#icon20,#icon21,#icon22,#icon23,#icon24,#icon25,#icon26,#icon27,#icon28,#icon29,#icon30,#icon31,#icon32');
var allSelectors2 = $('#icon12,#icon13,#icon14,#icon15,#icon16,#icon17,#icon18,#icon19'); 
var allSelectors = $('#icon2,#icon3,#icon4,#icon5,#icon6,#icon7,#icon8,#icon9,#icon10,#icon11');

allSelectors.show();
allSelectors2.hide();
allSelectors3.hide();