我创建了一个jquery对象数组,我想在触发特定的click事件时隐藏它们。我可以将数组转换为单个对象或者我可以将方法附加到的对象,而不是为每个单击事件循环遍历同一数组的内容吗?
我现在有一个当前的小提琴:http://jsfiddle.net/hd5qa/13/
很抱歉,如果这听起来很模糊,我不确定如何最好地解释这一点。
凯尔
答案 0 :(得分:4)
是。您可以创建一个空的jQuery对象,然后为每个元素调用.add
。
var all = $();
$.each(myArray, function(index, element) { all = all.add(element); });
// now you can use all to apply something to all of them
all.show();
all.hide();
// etc
查看更新后的演示on JSFiddle。
答案 1 :(得分:2)
是的,有几种方法可以做到。您可以一次选择它们:
var colors = $('#blue, #red, #green, #black, ...');
您可以将各个集合合并为一个集合
var $blue = $('#blue');
var $red = $('#red');
var $green = $('#green');
var $black = $('#black');
var $purple = $('#purple');
var $orange = $('#orange');
var collection = $blue.add($red).add($green).add(.....
或者您可以为所有元素提供class="color"
属性
var collection = $('.color');
答案 2 :(得分:2)
答案 3 :(得分:1)
为什么不给他们全班?
myArray.each(function() { $(this).addClass("myArrayClass"); });
然后你可以
$(".myArrayClass").hide();
您还可以使用类同时为所有点击按钮分配相同的onclick事件处理程序。