1

我使用以下内容来触发 js 函数:

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

所以 div 类 .gl 中的任何链接都会激活函数 do_this .. 简单

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

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

尝试了所有组合但还没有工作,或者我只需为其他类复制整个东西?

4

3 回答 3

7

像这样使用多个选择器

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

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

于 2012-08-15T22:16:42.967 回答
0

我想您可以使用三元组来确定要影响的特定组,如果您真的是指异或:

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

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

于 2012-08-15T22:19:19.213 回答
0

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

$( [].concat($('.gl a'),$('.gm a')) ).each(function(index){
    this.do_this({ //...
});
于 2012-08-15T22:49:38.317 回答