Wie machen Sie jQuery's hasClass
mit einfachem altem JavaScript? Zum Beispiel,
<body class="foo thatClass bar">
Wie lautet die JavaScript-Methode, um zu fragen, ob <body>
hat thatClass
?
Wie machen Sie jQuery's hasClass
mit einfachem altem JavaScript? Zum Beispiel,
<body class="foo thatClass bar">
Wie lautet die JavaScript-Methode, um zu fragen, ob <body>
hat thatClass
?
Verwenden Sie einfach classList.contains()
:
if (document.body.classList.contains('thatClass')) {
// do some stuff
}
Andere Verwendungen von 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');
Browser-Unterstützung:
Sie können prüfen, ob element.className
passt zu /\bthatClass\b/
.
\b
entspricht einem Wortumbruch.
Oder Sie können die eigene Implementierung von jQuery verwenden:
var className = " " + selector + " ";
if ( (" " + element.className + " ").replace(/[\n\t]/g, " ").indexOf(" thatClass ") > -1 )
Um Ihre allgemeinere Frage zu beantworten, können Sie sich die jQuery's Quellcode auf github oder in der Quelle für hasClass
speziell in diesem Source Viewer .
Der wirksamste One-Liner, der
thisClass
auf ein Element, das den class="thisClass-suffix"
.function hasClass( target, className ) {
return new RegExp('(\\s|^)' + className + '(\\s|$)').test(target.className);
}
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.