2011-10-09 64 views

回答

6

與提琴的問題如下:

1)您沒有包括jQuery庫。

2)您還沒有正確關閉each循環(缺少括號)。

3)您錯過了「myButton」中的id選擇器#

這是updated, working fiddle

但是請注意,你可以簡單地這樣做:

$("#blue, #red, #green, #black, #purple, #orange").hide(); 

或者更好,把所有那些包含的父元素,並簡單地隱藏,或使用$("#parent div").hide();

您可以在選擇的結果存儲在一個變量,而不是你目前擁有的6,如jQuery的方法往往不需要一個循環,爲每一個匹配元素上進行操作。

+0

使用,或用類 - 沒有多餘的標籤。 – Bojangles

+1

是的,各種更好的選擇比將每個元素的數組作爲單獨的jQuery對象存儲並遍歷該數組! –

0
$(myArray).each(function(index, element){ 
    element.hide(); 
}); 

你可能想嘗試這樣的事情!

var myArray = [$blue, $red, $green, $black, $purple, $orange]; 

$('#myButton').click(function() { 
    $(myArray).each(function(index, element) { 
     $(element).hide(); 
    }); 

}); 

你可以看到在這裏運行: http://jsfiddle.net/hd5qa/3/

1

有沒有理由想通過一系列對象來做到這一點?

,你可以通過添加您選擇這樣簡化了一切:

$('#blue, #red, #green, #black, #purple, #orange').hide(); 
0

我更喜歡這種方式:

var elements = $("div"); 
var numOfElements = elemenets.length; 
for(var i=0; i<numOfElements; i++) { 
    var element = elements.eq(i); 
    element.hide(); 
} 
+0

$(「。div」)將假設他將班級'div'授予他所有的div。我認爲你的意思是$('div')...但我可能會誤解。 – Sander

+0

準確。你是對的。謝謝你的提示。 – Krasimir