猿问

普通JavaScript的“ hasClass”函数是什么?

你怎么做jQuery的hasClass用纯醇”的JavaScript?例如,


<body class="foo thatClass bar">

什么是JavaScript的方式来询问是否<body>有thatClass?


杨魅力
浏览 764回答 3
3回答

Qyouu

您可以检查是否element.className匹配/\bthatClass\b/。\b匹配一个单词中断。或者,您可以使用jQuery自己的实现:var className = " " + selector + " ";if ( (" " + element.className + " ").replace(/[\n\t]/g, " ").indexOf(" thatClass ") > -1 )&nbsp;为了回答您的更一般性的问题,您可以在github上查看jQuery的源代码,或者hasClass在此源代码查看器中专门查看源代码。

慕娘9325324

只需使用classList.contains():if (document.body.classList.contains('thatClass')) {&nbsp; &nbsp; // 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.0Firefox 3.6IE 10歌剧11.50Safari 5.1

呼啦一阵风

最有效的一种衬垫返回一个布尔值(与Orbling的答案相对)在搜寻thisClass具有的元素时,不会传回假阳性class="thisClass-suffix"。与每个浏览器兼容,最低至IE6function hasClass( target, className ) {&nbsp; &nbsp; return new RegExp('(\\s|^)' + className + '(\\s|$)').test(target.className);}
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答