你如何hasClass
使用普通的 JavaScript 来处理jQuery ?例如,
<body class="foo thatClass bar">
询问 if <body>
has的 JavaScript 方式是thatClass
什么?
你如何hasClass
使用普通的 JavaScript 来处理jQuery ?例如,
<body class="foo thatClass bar">
询问 if <body>
has的 JavaScript 方式是thatClass
什么?
只需使用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');
浏览器支持:
您可以检查是否element.className
匹配/\bthatClass\b/
。
\b
匹配断字。
或者,您可以使用 jQuery 自己的实现:
var className = " " + selector + " ";
if ( (" " + element.className + " ").replace(/[\n\t]/g, " ").indexOf(" thatClass ") > -1 )
要回答更一般的问题,您可以查看github上的 jQuery源代码或hasClass
在此源查看器中专门查看的源代码。
最有效的一种衬垫
thisClass
具有class="thisClass-suffix"
.function hasClass( target, className ) {
return new RegExp('(\\s|^)' + className + '(\\s|$)').test(target.className);
}
// 1. Use if for see that classes:
if (document.querySelector(".section-name").classList.contains("section-filter")) {
alert("Grid section");
// code...
}
<!--2. Add a class in the .html:-->
<div class="section-name section-filter">...</div>
存储正在使用的类的属性是className
.
所以你可以说:
if (document.body.className.match(/\bmyclass\b/)) {
....
}
如果您想要一个显示 jQuery 如何做所有事情的位置,我建议: