jQuery - .not()不起作用

时间:2011-04-10 16:12:33

标签: jquery hover filtering

这是我的代码:

$("a").not(".current_page_item").hover(
   function(){
      $(this).stop().animate(
          {color: "#ffffff"}, 'slow'
      );
   },
   function(){
      $(this).stop().animate(
         {color: "#666666"}, 'slow'
      );
   }
);

如果我特别要求CSS更改类,例如:

$(".current_page_item").css("color", "#ff00ff");

我可以改变颜色,所以我知道这不是我的错。

有什么想法吗?

1 个答案:

答案 0 :(得分:5)

根据demo page中的标记,你必须这样做:

$("a").not(".current_page_item > a").hover(...)

或者:

var selected = $('.current_page_item > a')[0];
$("a").not(selected).hover(...);

(可能更快)

或只是:

$("li").not(".current_page_item").hover(...)

(如果它也改变了链接的颜色,不确定(链接是特殊的;))))

current_page_item是一个父li类,而不是链接本身。

您的代码仅过滤具有类a的链接(current_page_item元素),但它们都没有,因此它会选择所有链接。