DOM节点的增删改查
文章目录
1.查找节点
getElementById()
getElementsByClassName()
getElementsByTagName()
querySelector()
querySelectorAll()
firstChild
Children
lastChild
childNodes
someNode.previousSibling
someNode.nextSibling
someNode.parentNode
getAttribute
2.增加节点
2.1 创建节点
createElement():创建一个dom节点
document.createElement('div');
2.2 父节点插入子节点
appendChild():子节点末尾追加
const element = document.createElement('div');
element.textContent="新加的按钮";
document.body.appendChild(element);
2.3 同级插入节点
节点.insertBefore(插入的标签,参照标签)
const newNode = document.createElement('div');
document.body.insertBefore(newNode);
3.修改节点
3.1 替换节点
replaceChild():替换子节点。接受两个参数,第一个为要插入的节点,第二个为要替换的节点
const newNode=document.createElement('span');
const oldNode=document.querySelector('#root');
document.body.replaceChild(newNode,oldNode);
3.2 clone节点
var box =document.getElementById("box");
//复制box节点(浅拷贝)
var new_box1 =box.cloneNode(false);
console.log(new_box1);
//复制box节点(深拷贝)
var new_box2 =box.cloneNode(true);
console.log(new_box2);
4.删除节点
4.1删除节点
removeChild():删除子节点
const element=document.querySeletor('#root');
document.body.removeChild(element);
5.常见操作实现问题
创建一个textContent=‘年薪一百万’,className=‘selected’,data_val='1000000’的div标签
创建10(i从1到10)个textContent=‘100000i’,className=‘selected’,data_val='100000i’的li标签,并将此标签插入到上面div标签之前
综合案例
<!DOCTYPE html>
<html lang