0

我创建了一些 a-tags 并将其存储在不同的变量中。现在,我想向这个存储的变量添加一个悬停事件。

类似的东西

var btnPrev = $(document.createElement('a'));
btnPrev.css({
    'display':'block',
            ...
});
btnPrev.text('<');
btnPrev.addClass('issueBtnPrev');
var btnNext = $(document.createElement('a'));
btnNext.css({
    'display':'block',
            ...
});
btnNext.text('>');
btnNext.addClass('issueBtnNext');

现在这里是悬停事件

(btnNext,btnPrev).hover(function() {
    $(this).fadeTo(200,'0.3');
}, function() {
    $(this).fadeTo(200,'.2');
});

但只有 btnPrev 具有悬停效果,是否有一种方法可以将多个变量附加到悬停效果。

我知道我可以使用 $('.issueBtnNext, .issueBtnPrev').hover

4

2 回答 2

1

您需要一个元素添加到匹配的集合中:

$(btnNext).add(btnPrev).hover(...);

http://jsfiddle.net/zerkms/qSYXk/

于 2012-04-27T10:47:56.057 回答
1

您可以使用该add方法将另一个 jQuery 对象(或元素、HTML 片段等)添加到当前集合:

btnNext.add(btnPrev).hover(function() {
    $(this).fadeTo(200,'0.3');
}, function() {
    $(this).fadeTo(200,'.2');
});

来自 jQuery 文档add

给定一个表示一组 DOM 元素的 jQuery 对象,.add() 方法从这些元素的并集和传递给该方法的元素构造一个新的 jQuery 对象。

Your current attempt only works for btnPrev because you are using the comma operator which evaluates both of its operands (which in your case does nothing) and returns the last, which in your case is btnPrev.

于 2012-04-27T10:48:13.963 回答