設(shè)置 class 屬性與獲取 class 屬性方式類(lèi)似,都是通過(guò) Element 對(duì)象提供的 className 屬性和 classList 屬性實(shí)現(xiàn)。
## Element 對(duì)象的 className 屬性
Element 對(duì)象提供的 className 屬性既可以實(shí)現(xiàn)獲取,也可以實(shí)現(xiàn)設(shè)置。其設(shè)置的語(yǔ)法結(jié)構(gòu)如下:
```javascript
elementNodeReference.className = cName;
```
上述語(yǔ)法結(jié)構(gòu)中,作為值的 cName 是一個(gè)字符串變量。表示當(dāng)前元素的class屬性的值,可以是由空格分隔的多個(gè)class屬性值。
我們可以通過(guò)以下示例代碼,學(xué)習(xí)如何通過(guò) className 屬性設(shè)置:
```javascript
var btn = document.getElementById('btn');
var className = btn.className;
className += ' animate';
btn.className = className;
```
## Element 對(duì)象的 classList 屬性
Element 對(duì)象提供的 classList 屬性與 className 屬性類(lèi)似,既可以實(shí)現(xiàn)獲取,也可以實(shí)現(xiàn)設(shè)置。
但 classList 屬性自身是只讀屬性,換句話講,我們并不能通過(guò) classList 屬性進(jìn)行設(shè)置。而是通過(guò)以下方法實(shí)現(xiàn):
| 方法名稱(chēng) | 描述 |
| --- | --- |
| add() | 添加指定的類(lèi)值。如果這些類(lèi)已經(jīng)存在于元素的屬性中,那么它們將被忽略。|
| remove() | 刪除指定的類(lèi)值。|
| item() | 按集合中的索引返回類(lèi)值。|
| toggle() | 切換指定的類(lèi)值。 |
| contains() | 檢查元素的類(lèi)屬性中是否存在指定的類(lèi)值。|
我們可以通過(guò)以下示例代碼,學(xué)習(xí)上述方法的使用:
```javascript
var btn = document.getElementById('btn');
var classList = btn.classList;
// 添加 .animate 樣式
classList.add('animate');
// 刪除 .animate 樣式
classList.remove('animate');
// 如果 .animate 存在,則刪除;如果 .animate 不存在,則添加
classList.toggle('animate');
// 判斷是否存在 .animate 樣式
console.log(classList.contains('animate'));
```
- 關(guān)于
- 第一章 DOM 是什么
- 第一節(jié) DOM 介紹
- 第二節(jié) DOM 樹(shù)結(jié)構(gòu)
- 第二章 Document 對(duì)象
- 第一節(jié) Document 對(duì)象介紹
- 第二節(jié) 定位頁(yè)面元素
- 第三節(jié) 創(chuàng)建頁(yè)面元素
- 第三章 Node 對(duì)象
- 第一節(jié) Node 對(duì)象介紹
- 第二節(jié) 判斷節(jié)點(diǎn)類(lèi)型
- 第三節(jié) 遍歷節(jié)點(diǎn)
- 第四節(jié) 插入節(jié)點(diǎn)
- 第五節(jié) 刪除節(jié)點(diǎn)
- 第六節(jié) 替換節(jié)點(diǎn)
- 第七節(jié) 復(fù)制節(jié)點(diǎn)
- 第八節(jié) textContent 屬性
- 第四章 Element 對(duì)象
- 第一節(jié) Element 對(duì)象介紹
- 第二節(jié) DOM 元素樹(shù)
- 第三節(jié) 定位頁(yè)面元素
- 第四節(jié) 遍歷元素
- 第五節(jié) 屬性操作
- 第六節(jié) innerHTML 屬性
- 第五章 樣式操作
- 第一節(jié) 獲取內(nèi)聯(lián)樣式
- 第二節(jié) 獲取外聯(lián)樣式表
- 第三節(jié) 獲取 class 屬性
- 第四節(jié) 獲取當(dāng)前有效樣式
- 第五節(jié) 設(shè)置內(nèi)聯(lián)樣式
- 第六節(jié) 設(shè)置 class 屬性
- 第七節(jié) Element 對(duì)象的樣式屬性
- 第六章 事件
- 第一節(jié) 什么是事件
- 第二節(jié) 注冊(cè)事件
- 第三節(jié) 移除注冊(cè)事件
- 第四節(jié) Event 事件對(duì)象
- 第五節(jié) 獲取目標(biāo)元素
- 第六節(jié) 阻止默認(rèn)行為
- 第七節(jié) 獲取鼠標(biāo)坐標(biāo)
- 第八節(jié) 事件流
- 第九節(jié) 事件委托
- 第七章 表單操作
- 第一節(jié) 獲取表單
- 第二節(jié) 表單操作
- 第三節(jié) 表單驗(yàn)證
- 第四節(jié) 表單提交
- 第八章 BOM
- 第一節(jié) BOM 是什么
- 第二節(jié) Window 對(duì)象
- 第三節(jié) Navigator 對(duì)象
- 第四節(jié) History 對(duì)象
- 第五節(jié) Location 對(duì)象
- 第六節(jié) 定時(shí)器
