2.1增加节点
appendChild 向节点的子节点列表的末尾添加新的子节点 只能添加节点
createElement() 创建元素节点createTextNode() 创建文本节点createAttribute()创建属性节点innerHTML 元素里的文字
<div id="app"><p>one</p></div><script>/* appendChild -->在父元素的最后面添加一个元素 */var app = document.getElementById("app");var p = document.createElement("p");p.innerHTML = "hello world";app.appendChild(p);</script>
append 在结尾插入节点 可以添加节点和字符串 / prepend 在开头插入节点
<ul id="app"><li>html</li></ul><script>// append,prependvar app = document.getElementById("app");var p1 = "<h1>我是在结尾插入的</h1>";var p2 = "<h1>我是在开头插入的</h1>"app.append(p1);app.prepend(p2)</script>
insertBefore 插入节点 parentNode.insertBefore ( newNode,在谁前面 ) 在已有的子节点前插入一个新的子节点
<ul id="app"><li>html</li><li id="js">javascript</li></ul><!--innerHtml 元素里的文字parentNode.insertBefore(newNode,在谁前面) 插入节点--><script>var app = document.getElementById("app")var li = document.createElement("li")var js = document.getElementById("js")li.innerHTML = "vue"console.log(li);app.insertBefore(li,js)console.log(app)</script>
before / after
<p id="p">hello world</p><script>var p = document.getElementById("p");p.after("after")p.before("before")</script>
2.2删除节点
removeChild() 删除节点
<div id="app"><p>one</p><p id="two">two</p></div><script>var app = document.getElementById("app");var two = document.getElementById("two")app.removeChild(two);</script>
实例:点击删除按钮,删除节点
<div id="app"><p>one</p><p id="two">two</p><button id="btn">删除</button></div><script>/* removeChild 从父节点上删除某个子节点parentElment.removeChild(childElement)*/var app = document.getElementById("app");var two = document.getElementById("two")var btn = document.getElementById("btn");btn.onclick = function(){app.removeChild(two);}</script>
<div id="app"><p>one</p><p id="two">two</p><button id="btn">删除</button></div><script>/*remove();element.remove();*/var two = document.getElementById("two")var btn = document.getElementById("btn");btn.onclick = function(){two.remove();}</script>
2.3替换节点
replaceChild 替换节点 parentNode.replaceChild ( newNode,targetNode ) 替换某个元素
<div id="app"><!-- <h1>change</h1> --><p id="child">hello world</p></div><script>/*替换节点parentNode.replaceChild(newNode,targetNode)*/var app = document.getElementById("app");var h1 = document.createElement("h1");h1.innerHTML = "change";var child = document.getElementById("child");app.replaceChild(h1,child)</script>
2.4克隆节点
cloneNode
node.cloneNode( )括号为空或false浅拷贝,只复制标签不复制内容括号为true,深拷贝,也复制内容<div id="app"><div id="one">hello world</div></div><script>var app = document.getElementById("app")var one = document.getElementById("one")var test = one.cloneNode(true)console.log(test);app.appendChild(test);console.log(app);</script>
