我正在使用jquery来更改/动画菜单项的bg位置,但如果li类是“活动的”,我需要它不做任何事情,但我似乎无法弄清楚如何使用不选择器(或者即使它适用于这种情况?)。这是代码:
<div id="menuHolder">
<ul>
<li class="active"><a href="/">menu 1</a></li>
<li><a href="/">menu 2</a></li>
<li><a href="/">menu 3</a></li>
</ul>
</div>
这是jquery:
$('#menuHolder ul li a').css({ backgroundPosition: "0px -145px" }).mouseover(function(){
$(this).stop().animate({ backgroundPosition:"(0px 0px)" }, { duration: 500 });
}).mouseout(function() {
$(this).stop().animate({ backgroundPosition:"(0px -145px)" }, { duration: 500 });
});
^^这使得所有菜单项bg位置发生变化 - 效果很好,除了#menuHolder ul li.active a
之外,我只需要在所有菜单项上执行此操作任何帮助将不胜感激:)
答案 0 :(得分:1)
尝试$(this).filter(':not(.active)')
或者你可以使用(在鼠标悬停内)if (!$(this).hasClass('active')) {