jquery hover()。addClass()问题

http://jsfiddle.net/aBaw6/2/

当您将鼠标hover在列表项时,此演示不会添加类。

我在这做错了什么?

$("li").hover( function () { $(this).addClass('hover); }, function () { $(this).removeClass("hover"); } ); 

HTML

 
  • Milk
  • Bread
  • Chips
  • Socks

CSS

 .hover{ color:green; font-size: 20px; } 

提前致谢。

你的JavaScript形成错误:

 $("li").hover( function () { $(this).addClass('hover); }, function () { $(this).removeClass("hover"); } ); 

应该:

 $("li").hover( function () { $(this).addClass('hover'); }, function () { $(this).removeClass('hover'); } ); 

如果你单击屏幕顶部的JS Lint按钮,它会告诉你这个(这不是一个批评 ,只是你将来使用JS Fiddle的注释 )。

您的javascript语法不正确

 $(this).addClass('hover); 

应该:

 $(this).addClass('hover'); 

你忘了终止字符串。

它适用于这种变化。

虽然其他人注意到缺少引号,但我注意到你应该用CSS而不是javascript来做这件事:

http://jsfiddle.net/aBaw6/8/

 li:hover{ color:green; font-size: 20px; } 

IE6在

  • 上不支持此function,但您可以使用和样式包装内容,如果需要支持。

    如果您确实使用了javascript,则可以像这样减少代码:

    http://jsfiddle.net/aBaw6/7/

     $("li").hover( function (e) { $(this).toggleClass('hover', e.type === 'mouseenter'); }); 

    你错过了报价’

      $("li").hover( function () { $(this).addClass('hover'); }, function () { $(this).removeClass("hover"); } );