Javascript 合并/连接2个jQuery集
看看这个代码,例如Javascript 合并/连接2个jQuery集,javascript,jquery,union,Javascript,Jquery,Union,看看这个代码,例如 var $div = $('#my div'), $ul = $('#somewhere ul'); 如何对这两个对象执行jQuery方法?例如,这会起作用吗?这里的最佳实践是什么 $($div, $ul).addClass('my-new-class'); 在$ul的上下文中搜索$div?试试看 $('#my div, #somewhere ul').addClass('my-new-class'); 查看jQuery提供了此方法。最常见的情况是向jQuer
var $div = $('#my div'),
$ul = $('#somewhere ul');
如何对这两个对象执行jQuery方法?例如,这会起作用吗?这里的最佳实践是什么
$($div, $ul).addClass('my-new-class');
在$ul
的上下文中搜索$div
?试试看
$('#my div, #somewhere ul').addClass('my-new-class');
查看jQuery提供了此方法。最常见的情况是向jQuery集中添加更多与给定选择器匹配的元素(传递到add
),但也可以使用它执行两个集合的组合:
$c = $a.add($b).addClass('foo')
add
返回一个新的包装集,其中包含该和给定集的合并且唯一的组合。请注意,$b
保持不变。我知道这已经很晚了,但您也可以执行以下操作:
$().add($div).add($ul).addClass('my-new-class');
我知道这会起作用,但有时我会在脚本开始时设置两个缓存,我希望避免以后在方法等中重新定义它们。是的,我也会这样想,前几天我发现我并不孤单:)
$(“#我的div,#ul某处”).addClass('my-new-class')
实际上很好,就像$div.add($ul.addClass('my-new-class')代码>$div.add($ul).
更有意义。。。我看不出这会给已经存在的答案增加什么价值。@FelixKling在一行中,没有多少。但我使用了它背后的概念:var initted=$()
…稍后,在一个条件下,initted.add($foo)
…稍后,在另一个(非互斥)条件下,initted.add($foo)
…依此类推。能够从a开始非常有价值。$a
是否也保持不变?$a
保持不变。(这是一个旧线程——目前正在使用jQuery 3.2.1。)有人添加了“$b保持不变”,但没有指定任何关于$a的内容。我个人不记得了,谢谢你@NicholasCloud。也许你可以编辑答案,这样更清楚。