在一个中组合单独的jQuery对象

时间:2013-11-19 10:24:16

标签: jquery coffeescript

这是代码示例(在coffeescript中):

$el1 = $ '#el1' # those name are dummy, just for example
$el2 = $ '#el2'

# I want to compose those objects into one 
# Result should be equal to: 
$("#el1, #el2")

# Something like:
$([el1, el2]) # this isn't work

我怎么能这样做?

2 个答案:

答案 0 :(得分:1)

我不确定你要做什么,但我认为你是从以下开始的:

$el1 = $('#some_id')
$el2 = $('#some_other_id')
#...

并且您希望将$el1$el2合并到另一个jQuery对象中,就好像您说的那样:

$els = $('#some_id, #some_other_id')

这样您就可以同时使用$el1$el2。使用add

很容易做到这一点
$els = $el1.add($el2)
# or if it is more convenient:
$els = $().add($el1).add($el2);

演示:http://jsfiddle.net/ambiguous/Uu2G3/1/

我不知道使用$els是否会更有效地使用[$el1,$el2],jQuery最终会循环遍历$els内的所有DOM元素,所以我怀疑如果你进行循环或jQuery这样做会有很大的不同。 OTOH,将元素收集到$els中可能会让事情变得更容易和更清晰。

答案 1 :(得分:0)

最干净的方法是给这些元素一个类名。然后你可以使用

$(".theClassName").on('blur', () ->
    # do something
)