如何循环遍历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
循环结束时。
$(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