我正在尝试遍历我创建的jquery对象数组,这些对象在单击时是隐藏的。现在我不知道我在哪里出错了,并且想知道是否有人能解释我需要做些什么才能使它发挥作用?
我在这里创造了一个小提琴http://jsfiddle.net/hd5qa/3/
非常感谢所有建议
凯尔
答案 0 :(得分:6)
小提琴的问题如下:
1)你没有包含jQuery库。
2)您没有正确关闭each
循环(缺少括号)。
3)您错过了“myButton”中的id
选择器#
。
但请注意,您可以这样做:
$("#blue, #red, #green, #black, #purple, #orange").hide();
或者更好的是,将所有这些放在包含父元素中,只需隐藏它,或使用$("#parent div").hide();
。
您可以将该选择的结果存储在单个变量中,而不是当前存储的6中,因为jQuery方法倾向于对匹配集中的每个元素进行操作而不需要循环。
答案 1 :(得分:1)
你有理由想通过一系列对象来做这件事吗?
您可以通过添加以下选择器来简化这一切:
$('#blue, #red, #green, #black, #purple, #orange').hide();
答案 2 :(得分: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/
答案 3 :(得分:0)
我更喜欢这种方式:
var elements = $("div");
var numOfElements = elemenets.length;
for(var i=0; i<numOfElements; i++) {
var element = elements.eq(i);
element.hide();
}
答案 4 :(得分:0)
有三个问题:
#
。);
循环结束时忘记了$.each
。