Onmouseover,jquery在IE8上不起作用

Onmouseover,jquery在IE8上不起作用,jquery,internet-explorer-8,Jquery,Internet Explorer 8,我是一个js/jQuery新手。我尝试向div添加一些代码,以便在鼠标悬停时更改其类。它在FF、Chrome和IE9中工作良好。但在IE8和IE7中,它不起作用。我做错了什么?代码是: <div class="calloutHover" onmouseover="$(this).attr('class', 'calloutHoverOver')" onmouseout="$(this).attr('class', 'calloutHover')" > 我认为答案在于ie8可能不会将

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

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

我认为答案在于ie8可能不会将类识别为属性。所以使用

$(yourelement).addClass('yourclass') 
最好在div之后的某个地方执行此操作:

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

$('#yourdivId')。悬停(函数(){
$(this.addClass('calloutHover');
},函数(){
$(this.removeClass('calloutHover');
});
它将所有代码与HTML分开,如果没有id,那么您可以将一个类应用于希望以这种方式操作的所有div,并将该行为一次应用于所有div


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

您的代码看起来不错(不是完美的,但应该可以完成这项工作)。你犯了什么错误?div包含什么?刚刚用测试过,它工作正常。。。注意:我已更改为.html以实际查看更改。是否声明了有效的doctype?我正在使用:
Oops。我现在明白了。原来不是js。这是CSS。对不起,浪费了你的时间。