Javascript 为什么课堂检查不起作用?
当我用.hasClass检查类名时,它不起作用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; 但一般来说,当我检查属
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')