Document 對象提供了可以創(chuàng)建元素節(jié)點、屬性節(jié)點和文本節(jié)點的方法,方便 DOM 更新 HTML 頁面中的元素。
## 創(chuàng)建元素節(jié)點
Document 對象提供了 createElement() 方法創(chuàng)建元素節(jié)點,其語法格式如下:
```javascript
element = document.createElement(tagName);
```
上述語法格式中,tagName 是參數(shù),表示創(chuàng)建元素的元素名稱。element 是返回值,表示創(chuàng)建的元素。
> **值得注意的是:** createElement() 方法優(yōu)先將參數(shù)轉(zhuǎn)換為小寫。
下面是使用 createElement() 方法的示例代碼:
```javascript
var div = document.getElementById('group');
// 創(chuàng)建新的元素節(jié)點
var elem = document.createElement('button');
div.appendChild(elem);
```
上述示例代碼通過 createElement() 方法創(chuàng)建了 button 元素,并將其添加到 HTML 頁面中。
## 創(chuàng)建文本節(jié)點
Document 對象提供了 createTextNode() 方法創(chuàng)建文本節(jié)點,其語法格式如下:
```javascript
textNode = document.createTextNode(data);
```
上述語法格式中,data 是參數(shù),包含了放在文本節(jié)點中的內(nèi)容,是一個字符串。textNode 是返回值,表示創(chuàng)建的文本節(jié)點。
下面是使用 createTextNode() 方法的示例代碼:
```javascript
var div = document.getElementById('group');
// 創(chuàng)建新的元素節(jié)點
var elem = document.createElement('button');
// 創(chuàng)建文本節(jié)點
var text = document.createTextNode('New Button');
// 將文本節(jié)點添加到新的元素節(jié)點
elem.appendChild(text);
// 將新的元素節(jié)點添加到父級元素節(jié)點
div.appendChild(elem);
```
上述示例代碼先通過 createElement() 方法創(chuàng)建了 button 元素,再通過 createTextNode() 方法創(chuàng)建了一個新的文本節(jié)點,并將其添加到新創(chuàng)建的 button 元素中。
## 創(chuàng)建屬性節(jié)點
Document 對象提供了 createAtrribute() 方法創(chuàng)建屬性節(jié)點,其語法格式如下:
```javascript
attributeNode = document.createAttribute(name);
```
上述語法格式中,name 是參數(shù),屬性節(jié)點的屬性名稱。attributeNode 是返回值,表示創(chuàng)建的屬性節(jié)點。
> **值得注意的是:**
>
> 1. 創(chuàng)建屬性節(jié)點方法只具有屬性名稱,沒有屬性值。想要設(shè)置屬性值需要通過 nodeValue 屬性完成。
> 2. 由于屬性節(jié)點不是元素節(jié)點的子節(jié)點,不能使用添加子節(jié)點方式操作屬性節(jié)點。想要添加屬性節(jié)點需要通過 setAttributeNode() 方法完成。
下面是使用 createAtrribute() 方法的示例代碼:
```javascript
var div = document.getElementById('group');
// 創(chuàng)建新的元素節(jié)點
var elem = document.createElement('button');
// 創(chuàng)建文本節(jié)點
var text = document.createTextNode('New Button');
elem.appendChild(text);
// 創(chuàng)建屬性節(jié)點
var attribute = document.createAttribute('class');
// 設(shè)置屬性的值
attribute.nodeValue = 'button';
// 將屬性節(jié)點添加到元素節(jié)點
elem.setAttributeNode(attribute);
div.appendChild(elem);
```
上述示例代碼先通過 createAtrribute() 方法創(chuàng)建了 ,再通過 createTextNode() 方法創(chuàng)建了一個新的文本節(jié)點,并將其添加到新創(chuàng)建的 button 元素中。最后,通過 createAttribute() 方法創(chuàng)建 class 屬性節(jié)點,并設(shè)置了屬性值為 button,再將該屬性節(jié)點添加到新創(chuàng)建的 button 元素中。
- 關(guān)于
- 第一章 DOM 是什么
- 第一節(jié) DOM 介紹
- 第二節(jié) DOM 樹結(jié)構(gòu)
- 第二章 Document 對象
- 第一節(jié) Document 對象介紹
- 第二節(jié) 定位頁面元素
- 第三節(jié) 創(chuàng)建頁面元素
- 第三章 Node 對象
- 第一節(jié) Node 對象介紹
- 第二節(jié) 判斷節(jié)點類型
- 第三節(jié) 遍歷節(jié)點
- 第四節(jié) 插入節(jié)點
- 第五節(jié) 刪除節(jié)點
- 第六節(jié) 替換節(jié)點
- 第七節(jié) 復(fù)制節(jié)點
- 第八節(jié) textContent 屬性
- 第四章 Element 對象
- 第一節(jié) Element 對象介紹
- 第二節(jié) DOM 元素樹
- 第三節(jié) 定位頁面元素
- 第四節(jié) 遍歷元素
- 第五節(jié) 屬性操作
- 第六節(jié) innerHTML 屬性
- 第五章 樣式操作
- 第一節(jié) 獲取內(nèi)聯(lián)樣式
- 第二節(jié) 獲取外聯(lián)樣式表
- 第三節(jié) 獲取 class 屬性
- 第四節(jié) 獲取當前有效樣式
- 第五節(jié) 設(shè)置內(nèi)聯(lián)樣式
- 第六節(jié) 設(shè)置 class 屬性
- 第七節(jié) Element 對象的樣式屬性
- 第六章 事件
- 第一節(jié) 什么是事件
- 第二節(jié) 注冊事件
- 第三節(jié) 移除注冊事件
- 第四節(jié) Event 事件對象
- 第五節(jié) 獲取目標元素
- 第六節(jié) 阻止默認行為
- 第七節(jié) 獲取鼠標坐標
- 第八節(jié) 事件流
- 第九節(jié) 事件委托
- 第七章 表單操作
- 第一節(jié) 獲取表單
- 第二節(jié) 表單操作
- 第三節(jié) 表單驗證
- 第四節(jié) 表單提交
- 第八章 BOM
- 第一節(jié) BOM 是什么
- 第二節(jié) Window 對象
- 第三節(jié) Navigator 對象
- 第四節(jié) History 對象
- 第五節(jié) Location 對象
- 第六節(jié) 定時器
