3 回答
TA贡献1786条经验 获得超11个赞
您可以检查是否element.className匹配/\bthatClass\b/。
\b匹配一个单词中断。
或者,您可以使用jQuery自己的实现:
var className = " " + selector + " ";
if ( (" " + element.className + " ").replace(/[\n\t]/g, " ").indexOf(" thatClass ") > -1 )
为了回答您的更一般性的问题,您可以在github上查看jQuery的源代码,或者hasClass在此源代码查看器中专门查看源代码。
TA贡献1783条经验 获得超4个赞
只需使用classList.contains():
if (document.body.classList.contains('thatClass')) {
// do some stuff
}
其他用途classList:
document.body.classList.add('thisClass');
// $('body').addClass('thisClass');
document.body.classList.remove('thatClass');
// $('body').removeClass('thatClass');
document.body.classList.toggle('anotherClass');
// $('body').toggleClass('anotherClass');
浏览器支持:
Chrome 8.0
Firefox 3.6
IE 10
歌剧11.50
Safari 5.1
TA贡献1802条经验 获得超6个赞
最有效的一种衬垫
返回一个布尔值(与Orbling的答案相对)
在搜寻thisClass具有的元素时,不会传回假阳性class="thisClass-suffix"。
与每个浏览器兼容,最低至IE6
function hasClass( target, className ) {
return new RegExp('(\\s|^)' + className + '(\\s|$)').test(target.className);
}
添加回答
举报