HTML DOM classList 属性 | DOM 对象:HTML DOM 元素对象

返回到:DOM 对象:HTML DOM 元素对象

定义和用法

classList 属性返回元素的类名,作为 DOMTokenList 对象。

该属性用于在元素中添加,移除及切换 CSS 类。

classList 属性是只读的,但你可以使用 add() 和 remove() 方法修改它。

浏览器支持

表格中的数字表示支持该属性的第一个浏览器的版本号。

属性谷歌IE火狐苹果opera
classList8.010.03.65.111.5

语法

element.classList

Properties

属性Description
length返回类列表中类的数量

该属性是只读的

方法

方法描述
add(class1, class2, …)在元素中添加一个或多个类名。

如果指定的类名已存在,则不会添加
contains(class)返回布尔值,判断指定的类名是否存在。可能值:true – 元素包已经包含了该类名false – 元素中不存在该类名
item(index)返回元素中索引值对应的类名。索引值从 0 开始。

如果索引值在区间范围外则返回 null
remove(class1, class2, …)移除元素中一个或多个类名。

注意: 移除不存在的类名,不会报错。
toggle(class, true|false)在元素中切换类名。

第一个参数为要在元素中移除的类名,并返回 false。
如果该类名不存在则会在元素中添加类名,并返回 true。

第二个是可选参数,是个布尔值用于设置元素是否强制添加或移除类,不管该类名是否存在。例如:

移除一个 class: element.classList.toggle(“classToRemove”, false);
添加一个 class: element.classList.toggle(“classToAdd”, true);

注意: Internet Explorer 或 Opera 12 及其更早版本不支持第二个参数。

技术描述

返回值:一个 DOMTokenList, 包含元素的类名列表

实例

为 <div> 元素添加 class:

document.getElementById("myDIV").classList.add("mystyle");
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Web176教程网(web176.com)</title>
<style>
.mystyle {
    width: 300px;
    height: 50px;
    background-color: coral;
    color: white;
    font-size: 25px;
}
</style>
</head>
<body>

<p>点击按钮为 DIV 元素添加 "mystyle" 类。</p>
<button onclick="myFunction()">点我</button>
<p><strong>注意:</strong> Internet Explorer 9 及更早 IE 版本浏览器不支持 classList 属性。</p>
<div id="myDIV">
我是一个 DIV 元素。
</div>
<script>
function myFunction() {
    document.getElementById("myDIV").classList.add("mystyle");
}
</script>

</body>
</html>

为 <div> 元素添加多个类:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Web176教程网(web176.com)</title>
<style>
.mystyle {
    width: 500px;
    height: 50px;
    padding: 15px;
    border: 1px solid black;
}
.anotherClass {
    background-color: coral;
    color: white;
}
.thirdClass {
    text-transform: uppercase;
    text-align: center;
    font-size: 25px;
}
</style>
</head>
<body>

<p>点击按钮为 DIV 元素添加多个类。</p>
<button onclick="myFunction()">点我</button>
<p><strong>注意:</strong> Internet Explorer 9 及更早 IE 版本浏览器不支持 classList 属性。</p>
<div id="myDIV">
我是一个 DIV 元素。
</div>
<script>
function myFunction() {
    document.getElementById("myDIV").classList.add("mystyle", "anotherClass", "thirdClass");
}
</script>

</body>
</html>

为 <div> 元素移除一个类:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Web176教程网(web176.com)</title>
<style>
.mystyle {
    width: 300px;
    height: 50px;
    background-color: coral;
    color: white;
    font-size: 25px;
}
</style>
</head>
<body>

<p>点击按钮移除 DIV 元素中的 "mystyle" 类.</p>
<button onclick="myFunction()">点我</button>
<p><strong>注意:</strong> Internet Explorer 9 及更早 IE 版本浏览器不支持 classList 属性。</p>
<div id="myDIV" class="mystyle">
我是一个 DIV 元素。
</div>
<script>
function myFunction() {
    document.getElementById("myDIV").classList.remove("mystyle");
}
</script>

</body>
</html>

为 <div> 元素移除多个类:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Web176教程网(web176.com)</title>
<style>
.mystyle {
    width: 500px;
    height: 50px;
    padding: 15px;
    border: 1px solid black;
}
.anotherClass {
    background-color: coral;
    color: white;
}
.thirdClass {
    text-transform: uppercase;
    text-align: center;
    font-size: 25px;
}
</style>
</head>
<body>

<p>点击按钮移除多个 DIV 元素中的 类。</p>
<button onclick="myFunction()">点我</button>
<p><strong>注意:</strong> Internet Explorer 9 及更早 IE 版本浏览器不支持 classList 属性。</p>
<div id="myDIV" class="mystyle anotherClass thirdClass">
我是一个 DIV 元素。
</div>
<script>
function myFunction() {
    document.getElementById("myDIV").classList.remove("mystyle", "anotherClass", "thirdClass");
}
</script>

</body>
</html>

为 <div> 元素切换类:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Web176教程网(web176.com)</title>
<style>
.mystyle {
    width: 300px;
    height: 50px;
    background-color: coral;
    color: white;
    font-size: 25px;
}
.newClassName {
    width: 400px;
    height: 100px;
    background-color: lightblue;
    text-align: center;
    font-size: 25px;
    color: navy;
    margin-bottom: 10px;
}
</style>
</head>
<body>

<p>点击按钮切换类名。</p>
<button onclick="myFunction()">点我</button>
<p><strong>注意:</strong> Internet Explorer 9 及更早 IE 版本浏览器不支持 classList 属性。</p>
<div id="myDIV" class="mystyle">
我是一个 DIV 元素。
</div>
<script>
function myFunction() {
    document.getElementById("myDIV").classList.toggle("newClassName");
}
</script>

</body>
</html>

获取 <div> 元素的类名:

<div id="myDIV" class="mystyle anotherClass thirdClass">I am a DIV element</div>

var x = document.getElementById("myDIV").classList;

//mystyle anotherClass thirdClass

查看 <div> 元素有多少个类名:

var x = document.getElementById("myDIV").classList.length;

//3

获取 <div> 元素的第一个类名(索引为0):

var x = document.getElementById("myDIV").classList.item(0);

//
mystyle

查看元素是否存在 “mystyle” 类:

var x = document.getElementById("myDIV").classList.contains("mystyle");     //true

查看元素是否存在 “mystyle” 类,如果存在则移除另外一个类名:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Web176教程网(web176.com)</title>
<style>
.mystyle {
    width: 500px;
    height: 50px;
    border: 1px solid black;
}
.anotherClass {
    background-color: lightblue;
    padding: 25px;
}
.thirdClass {
    text-align: center;
    font-size: 25px;
    color: navy;
    margin-bottom: 10px;
}
</style>
</head>
<body>

<p>点击按钮查看 DIV 元素是否有 "mystyle" 类,如果有移除 "anotherClass" 类。</p>
<div id="myDIV" class="mystyle anotherClass thirdClass">
我是一个DIV元素
</div>
<button onclick="myFunction()">点我</button>
<p><strong>注意:</strong> Internet Explorer 9 及更早 IE 版本浏览器不支持 classList 属性。</p>
<p id="demo"></p>
<script>
function myFunction() {
    var x = document.getElementById("myDIV");
    if (x.classList.contains("mystyle")) {
        x.classList.remove("anotherClass");
    } else {
        alert("不存在该类。");
    }
}
</script>

</body>
</html>

作者:terry,如若转载,请注明出处:https://www.web176.com/javascriptbook/domtips/4337.html

(0)
打赏 支付宝 支付宝 微信 微信
terryterry
上一篇 2021年12月6日 下午5:45
下一篇 2021年12月7日 上午11:15

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注