这是代码示例(在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
我怎么能这样做?
答案 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
)