0

我是一个 js/jQuery 新手。我试图向 div 添加一些代码,以在鼠标悬停时更改其类。它在 FF、Chrome 和 IE9 中运行良好。但在 IE8 和 IE7 中,它不起作用。我究竟做错了什么?代码是:

<div class="calloutHover" onmouseover="$(this).attr('class', 'calloutHoverOver')" onmouseout="$(this).attr('class', 'calloutHover')" >
4

1 回答 1

0

我认为答案在于 ie8 可能无法将 class 识别为 attr。所以使用

$(yourelement).addClass('yourclass') 

最好在 div 之后的某个地方执行此操作:

<script type="text/javascript">
$('#yourdivId').hover(function(){
  $(this).addClass('calloutHover');
}, function(){
  $(this).removeClass('calloutHover');
});
</script>

它将所有代码与您的 HTML 分开,如果没有 id,那么您可以将一个类应用于您希望以这种方式表现的所有 div,并一次将行为应用于所有这些 div。

(使用第二种方法也意味着您依赖 jQuery 来正确处理 ie8 的独特行为。)

于 2012-06-06T18:42:38.163 回答