簡體   English   中英

如何循環遍歷jquery對象數組和.hide()中的每一個

[英]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();
}

有三個問題:

  • 您使用MooTools庫而不是jQuery運行代碼。
  • 你在按鈕的選擇器中忘記了#
  • 你忘記了a ); $.each循環結束時。

http://jsfiddle.net/Guffa/hd5qa/5/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM