2012-11-29 88 views
0

我有很多選擇器,我需要在腳本中多次操作。變量來保存多個選擇器

到目前爲止,我已經做到了這一點:

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

我認爲在html中使用類會更好,選擇器會簡單得多。 –

回答

3

不,不需要第二個$()

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

結合2所列出使用.add

allSelectors2.add(allSelectors3).hide(); 
+0

很好,非常感謝。 – Meek

0

因爲沒有人提到的jQuery性能規則,這裏有performance rules

它很好地聲明選擇器在一個變量(如果你有大量的),我看你做得很對。

另一種選擇是在Selectors1中的每個元素中添加一個類作爲class="selector1",依此類推。然後使用:

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

這是相當好看,但你在表演規則讀,selction按類和其他屬性比較慢。

另外不需要第二個$()。直接使用:

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();