javascript“或”声明

时间:2012-08-15 22:14:49

标签: javascript jquery function jquery-selectors

我使用以下命令来激活js函数:

$(document).ready(function() {
    $('.gl a').do_this({

因此div类.gl中的任何链接都会激活函数do_this .. simple

现在,我也想在另一个div链接上触发相同的功能,我可以这样做:

( $('.gl a') OR $('.gm a') ).do_this({

尝试了所有组合但尚未工作,或者我是否只需复制其他类的全部内容?

3 个答案:

答案 0 :(得分:7)

像这样使用Multiple selectors

$('.gl a, .gm a');

如果存在任何一个,或两者都存在,这将起作用;我假设这是你想要的。

答案 1 :(得分:0)

如果你真的是指一个专有的OR,我想你可以使用三元来识别一个特定的群体:

var groupToAffect = $('.gl a').length ? $('.gl a') : $('.gm a');
groupToAffect.do_this();

这测试选择器$('.gl a')返回一个非空的元素集合,如果是,则将该选择器返回的元素存储在groupToAffect变量中。如果它返回零(falsey)元素,那么它会将选择器$('.gm a')返回的元素分配给该变量;然后与do_this()方法/插件一起使用。

答案 2 :(得分:0)

jquery对象数组可以用concat组合在一起。然后迭代所有对象。

$( [].concat($('.gl a'),$('.gm a')) ).each(function(index){
    this.do_this({ //...
});