假设您在DOM中有一个元素
<div id="el"></div>
获取该DOM元素的引用
const el = document.querySelector("#el");
然后,您可以使用classList
方法操作该元素上的类。
// 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
浏览器支持
此浏览器支持数据来自Caniuse,其中包含更多详细信息。数字表示浏览器从该版本及更高版本开始支持该功能。
桌面
Chrome | Firefox | IE | Edge | Safari |
---|---|---|---|---|
28 | 26 | 11 | 12 | 7 |
移动/平板电脑
Android Chrome | Android Firefox | Android | iOS Safari |
---|---|---|---|
127 | 127 | 4.4 | 7.0-7.1 |
嗨,我创建了一个循环让h2显示5次,但现在我想用一个类来设置它的样式。当我尝试这样做时,我只能让第一个h2显示样式,但是如何让所有5个都生效呢?
这是我的代码
下面的代码将起作用,修改的地方是在你的变量head上使用classList属性而不是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);