0

我想将 .hover() 添加到我网站中的每个锚点,除了那些已经有 .hover() [之前单独添加 .hover() 的锚点]。

我不知道如何在 jQuery 中或者如果可能的话。
如果它不可能,我有另一个想法,但同样,我不知道该怎么做或者它是否可能。

这个想法是这样的:我可以为每个锚添加 .hover() 效果,除了那些在父 div 中,id 为“test”,而那些在父 div 中,id 为“test2”?

谢谢!。

4

3 回答 3

2

有很多方法可以做到这一点,其中一些是。

第一的

$('a').not('#test a, #test2 a'); 

第二

var divs_to_test = $('#test').add('#test2');
$('a').filter(function(){ 
    return !$(this).parent().is(divs_to_test); 
}); 
于 2011-11-13T17:38:18.967 回答
1

你可以写

$('a').not($('#test a, #test2 a'))

选择所有<a>不在这些元素中的 s。

于 2011-11-13T17:24:02.573 回答
0

我为此找到的最简单的方法是不太简洁:

$('a').filter(
    function() {
        if (!$(this).closest('div[id^="test"]').length) {
            return this;
        }
    }).hover(
    function(){
        $(this).css('background-color','red');
    },
    function(){
        $(this).css('background-color','white');
    });

JS 小提琴演示

于 2011-11-13T17:41:11.960 回答