在悬停功能后,Jquery交替行颜色似乎不起作用

ACP*_*ACP 1 jquery row colors hover

我使用以下jquery语句,

$(".resultsdiv:odd").css("background-color", "#fff");
$(".resultsdiv:even").css("background-color", "#EFF1F1");
$('.resultsdiv').hover(function() {
      $(this).css('background-color', '#f4f2f2');
   },
   function() {
      $(this).css('background-color', '#fff');
});
Run Code Online (Sandbox Code Playgroud)

Alternate最初似乎还可以,但是将鼠标悬停在div元素上后它无效......任何建议......

cle*_*tus 8

我的建议是不要直接操作样式,使用类.所以CSS:

.resultsdiv { background-color: #FFF; }
.resultseven { background-color: #EFF1f1; }
.resultshover { background-color: #F4F2F2; }
Run Code Online (Sandbox Code Playgroud)

有:

$(".resultsdiv:even").addClass("resultseven");
$(".resultsdiv").hover(function() {
  $(this).addClass("resultshover");
}, function() {
  $(this).removeClass("resultshover");
});
Run Code Online (Sandbox Code Playgroud)

调用的问题如下:

$(this).css("background", "#FFF");
Run Code Online (Sandbox Code Playgroud)

是你无法知道如何将元素重置为其原始状态,因为它的原始颜色也可能已设置为内联样式,如代码示例中的情况.课程只会让这类问题变得更加容易.

  • 请注意,如果您在**.resultseven CSS类之前定义了.resultshover CSS类**,那么悬停效果将无法在偶数行上起作用.至少那是我在IE 8中的经验.因此,定义CSS类的顺序非常重要. (2认同)