我编写了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的选择器。可能,:不应该使用,但我的语法有问题。
答案 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)")