我想将多个被定义为变量的元素绑定在一起。我知道这是可能的:
$('selector1, selector2').bind(...)
但是我想做类似这样的事情:
$($element1, $element2, $element3).bind(...)
有什么想法吗?
你需要将它们添加到一个结果集中:
$element1.add($element2).add($element3).bind(...)
或者对于任意数量的元素:
var elems = [$element1, $element2, $element3, ...];
var $result = $();
$.each(elems, function() {
$result = $result.add(this);
});
$result.bind(...);
或者使用 Array.reduce
:
[$element1, $element2, $element3, ...].reduce(function($result, $elem) {
return $result.add($elem);
}, $()).bind(...);
var $all = $element1.add($element2).add($element3).bind( ... ); //.add(...)
0
,这就是为什么它没有工作http://jsfiddle.net/Uj9hk/3/。 - nicosantangelo
$($element1.selector + ", " + $element2.selector + ", " + $element3.selector)
。 - nicosantangelo