DOM节点操作
DOM节点操作是网页动态交互的基础,掌握节点增删改查是前端开发必备技能。
创建节点
createElement
创建元素节点:
JavaScript
const div = document.createElement('div');
div.textContent = '新元素';
createTextNode
创建文本节点:
JavaScript
const text = document.createTextNode('文本内容');
createDocumentFragment
创建文档片段(减少重绘):
JavaScript
const fragment = document.createDocumentFragment();
插入节点
appendChild
在父节点末尾添加子节点:
JavaScript
parent.appendChild(child);
insertBefore
在参考节点前插入新节点:
JavaScript
parent.insertBefore(newNode, referenceNode);
append / prepend
在父节点末尾/开头添加多个节点:
JavaScript
parent.append(child1, child2);
parent.prepend(child0);
删除节点
removeChild
父节点删除子节点:
JavaScript
parent.removeChild(child);
remove
节点删除自身:
JavaScript
element.remove();
替换节点
replaceChild
用新节点替换旧节点:
JavaScript
parent.replaceChild(newNode, oldNode);
replaceWith
用新节点替换自身:
JavaScript
element.replaceWith(newNode);
克隆节点
cloneNode
克隆节点,参数为true时深克隆:
JavaScript
const shallow = element.cloneNode(); // 浅克隆
const deep = element.cloneNode(true); // 深克隆(包含子节点)
节点关系属性
| 属性 | 说明 |
|---|---|
| parentNode | 父节点 |
| childNodes | 所有子节点 |
| firstChild | 第一个子节点 |
| lastChild | 最后一个子节点 |
| nextSibling | 下一个兄弟节点 |
| previousSibling | 上一个兄弟节点 |
注意:
cloneNode(true)会克隆子节点,但不会克隆事件监听器。
要点总结
- 创建节点用
createElement和createTextNode - 插入节点用
appendChild、insertBefore或append/prepend - 删除节点用
removeChild或remove - 克隆节点时
cloneNode(true)包含子节点 - 批量操作时使用
createDocumentFragment提升性能
📝 发现内容有误?点击此处直接编辑