我有很多选择器,我需要在脚本中多次操作。
到目前为止,我已经这样做了:
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();
这是最好的方法吗?
答案 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();