[英]JQuery - Loop through DIVs with the same class and create Array for each of them
[英]how to loop through an array of jquery objects and .hide() each of them
我試圖循環遍歷我創建的jquery對象數組,這些對象在單擊時是隱藏的。 現在我不知道我在哪里出錯了,並且想知道是否有人可以解釋我需要做些什么來使它工作?
我在這里創造了一個小提琴http://jsfiddle.net/hd5qa/3/
所有建議都非常感謝
凱爾
小提琴的問題如下:
1)您沒有包含jQuery庫。
2)您沒有正確關閉each
循環(缺少括號)。
3)你錯過了“myButton”中的id
選擇器#
。
這是一個更新的工作小提琴 。
但請注意,您可以這樣做:
$("#blue, #red, #green, #black, #purple, #orange").hide();
或者更好的是,將所有這些放在包含的父元素中,然后簡單地隱藏它,或者使用$("#parent div").hide();
。
您可以將該選擇的結果存儲在單個變量中,而不是當前存儲的6中,因為jQuery方法傾向於對匹配集中的每個元素進行操作而無需循環。
你是否有理由想通過一系列對象來做這件事?
您可以通過添加以下選擇器來簡化所有操作:
$('#blue, #red, #green, #black, #purple, #orange').hide();
$(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/
我更喜歡這種方式:
var elements = $("div");
var numOfElements = elemenets.length;
for(var i=0; i<numOfElements; i++) {
var element = elements.eq(i);
element.hide();
}
有三個問題:
#
。 );
在$.each
循環結束時。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.