Angenommen, Sie haben ein Element im DOM
<div id="el"></div>
Holen Sie sich eine Referenz zu diesem DOM-Element
const el = document.querySelector("#el");
Dann können Sie die Klassen dieses Elements mit der classList Methode bearbeiten.
// Add a class
el.classList.add("open");
// Add many classes
el.classList.add("this", "little", "piggy");
let classes = ["is-message", "is-warning"];
el.classList.add(...classes);
// Remove a class
el.classList.remove("open");
// Remove multiple classes
el.classList.remove("this", "little", "piggy");
// Loop over each class
el.classList; // DOMTokenList (pretty much an array)
el.classList.forEach(className => {
// don't use "class" as that's a reserved word
console.log(className);
});
for (let className of $0.classList) {
console.log(className);
}
el.classList.length; // integer of how many classes there are
// Replace a class (replaces first with second)
el.classList.replace("is-big", "is-small");
// Toggle a class (if it's there, remove it, if it's not there, add it)
el.classList.toggle("open");
// Remove the class
el.classList.toggle("open", false);
// Add the class
el.classList.toggle("open", true);
// Add the class with logic
el.classList.toggle("raining", weather === "raining");
// Check if element has class (returns true or false)
el.classList.contains("open");
// Look at individual classes <div class="hot dog">
el.classList.item(0); // hot
el.classList.item(1); // dog
el.classList.item(2); // null
el.classList[1]; // dog
Browser-Unterstützung
Diese Browser-Support-Daten stammen von Caniuse, wo Sie weitere Details finden. Eine Zahl gibt an, dass der Browser das Feature ab dieser Version unterstützt.
Desktop
| Chrome | Firefox | IE | Edge | Safari |
|---|---|---|---|---|
| 28 | 26 | 11 | 12 | 7 |
Mobil / Tablet
| Android Chrome | Android Firefox | Android | iOS Safari |
|---|---|---|---|
| 127 | 127 | 4.4 | 7.0-7.1 |
Hallo, ich habe eine Schleife für h2 erstellt, um 5 Mal anzuzeigen, aber jetzt möchte ich es mit einer Klasse stylen. Als ich es versuchte, konnte ich nur das erste h2 stylen, aber wie kann ich erreichen, dass alle 5 funktionieren?
Das ist mein Code
Der folgende Code wird funktionieren, die Korrektur ist die Verwendung der classList-Eigenschaft auf Ihrer Variable head, nicht css
for (var i = 0; i < 5; i++) {
var head = document.createElement(“h2”);
head.innerHTML = “Hello World”;
document.body.appendChild(head);
head.classList.add(‘border’);
}
let style = document.createElement(“style”);
style.innerHTML = “.border{font-size:20px;font-weight: lighter; font-family: sans-serif; color: cornflowerblue;}”;
document.body.appendChild(style);