jquery选择器 - 所有元素而不是给定的第二个类

时间:2013-07-16 19:10:14

标签: jquery jquery-selectors

我编写了jquery代码和html,如下所示:

$("#bottom_images li").mouseenter(function() {          
        $(this).find("span").animate({bottom:0},500);
    }).mouseleave(function(){
        $(this).find("span").animate({bottom:-70},500);
    });


<ul id="bottom_images">
    <li class="img1 img_active"><span>Text</span></a>
    <li class="img2"><span>Text</span></a>
    ....
</ul>

此代码工作正常(它在li元素内的span上创建.animate效果)。

但是对于带有.img_active类的li元素,我不需要这个效果。该元素有两个类img1和img_active。我无法创建排除li.img_active的选择器。可能,:不应该使用,但我的语法有问题。

2 个答案:

答案 0 :(得分:2)

你是对的,你应该使用not() jQuery选择器。

$("#bottom_images li:not(.img_active)").mouseenter(function() {          
    $(this).find("span").animate({bottom:0},500);
}).mouseleave(function(){
    $(this).find("span").animate({bottom:-70},500);
});

另请阅读the documentation

:not() Selector

  

选择匹配给定选择器的所有元素。

答案 1 :(得分:2)

变化:

$("#bottom_images li")

$("#bottom_images li:not(.img_active)")