對文檔樹中的節點們 可以用js進行增刪改查: 增: 1、創建元素:這個元素是不會渲染到頁面上的,它不在DOM中 傳入字元串(標簽的名字) var box=document.createElement("div") 2、添加到文檔樹中,x.appendChild(y) 把y節點對象添加到x節點中 bo ...
對文檔樹中的節點們 可以用js進行增刪改查:
增:
1、創建元素:這個元素是不會渲染到頁面上的,它不在DOM中 傳入字元串(標簽的名字)var box=document.createElement("div")
2、添加到文檔樹中,x.appendChild(y) 把y節點對象添加到x節點中
box.appendChild(box2)
3、增加類名
box2.classList.add("box2")box2.className="box2"
等同於
3.1、增加多個類名
box2.className="box2 box3"等同於: box2.className="box2" box2.className=box2.className+" box3" 註意:box3前面有一個空格
刪:
1、刪除類名box2.classList.remove("box2")2、刪除子節點
box.parentElement.removeChild(box)
3、刪除自己
box.remove()
4、清空自己
box.parentElement.innerHTML=""
5、刪除元素
box.removeChild()
改:
innerHTML也可以用於添加元素box2.innerHTML="6666"
註:6666會把box2內部的所有元素全部覆蓋
解決方案 : 創建一個元素 把666作為它的innerHTML 然後把它添加到box2box2.innerHTML+="<h1>6666</h1>"
查:
<div id="box"></div> <script> var box=document.querySelector("#box") </script>
克隆:
var box2 = box.cloneNode()//不會克隆事件等 var box2 = box.cloneNode(true)//連同box的後代元素和所有的事件 一起克隆 var btn1 = btn.cloneNode(true) box.appendChild(btn1)//把克隆的btn1添加到box的子節點中去
節點對象怎麼來的?
只有創建、添加進頁面,才是真正的添加了節點,否則就是移動節點。