如何循环遍历jquery对象数组和.hide()中的每一个

我试图循环遍历我创建的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(); 

有三个问题:

  • 您使用MooTools库而不是jQuery运行代码。
  • 你在按钮的选择器中忘记了#
  • 你忘记了a );$.each循环结束时。

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

 $(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