Javascript 为什么课堂检查不起作用?

Javascript 为什么课堂检查不起作用?,javascript,jquery,Javascript,Jquery,当我用.hasClass检查类名时,它不起作用 function changeClass(){ var elBox = document.getElementById('box'); if(elBox.hasClass('blue')){ elBox.className = 'red'; } } var trigger = document.getElementById('trigger'); trigger.onmouseover = changeClass; 但一般来说,当我检查属

当我用.hasClass检查类名时,它不起作用

function changeClass(){
var elBox = document.getElementById('box');

if(elBox.hasClass('blue')){
 elBox.className = 'red';
}
}

var trigger = document.getElementById('trigger');

trigger.onmouseover = changeClass;
但一般来说,当我检查属性时,它就会工作

if(elBox.hasAttribute('class') ....

我只是不明白为什么类检查失败了,也许有人能帮上忙。

elBox
只是一个DOM对象,用jQuery包装器包装它,以便使用jQuery方法,如
.hasClass()

而不是

if(elBox.hasClass('blue')){
使用


elBox
是一个DOM元素。您应该使用jQuery对象来使用jQuery方法
hasClass()
。试着像下面这样

$('#box').hasClass('blue')


您混淆了DOM和jQuery方法。了解差异。>IE 8浏览器可以使用
.classList.contains()
,而任何javascript都可以使用
/blue/.test(element.className)
作为示例。后者是最便宜的支票,但除非你花点时间,否则你不会看到明显的区别LOT@Gregor..happy为了帮助你……)
$('#box').hasClass('blue')
$(elBox).hasClass('blue')