一、

  1. appendChild()
  2. insertBefore()
  3. append() 在下
  4. prepend() 在上
  5. before() p.append("before")
  6. after(); p.after("after")
  7. remove(); removeClass();

nodetype

  1. nodetype 判断一个节点的类型
  2. 1 元素节点
  3. 2 文本节点
  4. 3 属性节点
  5. getAllributeNames() 获得属性节点
  6. firstChild 获得第一个子节点
  1. <p id="app">hello world</p>
  2. <script>
  3. var app = document.getElementById("app");
  4. var id = app.getAttributeNames("id");
  5. console.log(app.nodeType)
  6. console.log(app.firstChild.nodeType)
  7. console.log(id.nodeType)
  8. </script>

childNodes Children

  1. childNodes-->包含所有的子节点(不管文本还是元素都包含)
  2. children -->只会获取子节点
  1. <ul>
  2. <li>hello world</li>
  3. <li>hello world</li>
  4. <li>hello world</li>
  5. <li>hello world</li>
  6. </ul>
  7. <script>
  8. var app = document.getElementById("app");
  9. var childs = app.childNodes;
  10. console.log(childs)
  11. console.log(children)
  12. </script>

获得元素所有节点

  1. var app = document.getElementById("app");
  2. var childs = app.childNodes;
  3. var arr = [];
  4. for(var i=0;i<childs.length;i++){
  5. if(childs[i].nodeType == 1){
  6. arr.push(childs[i])
  7. }
  8. }
  9. console.log(arr);

增加节点

createElement()
createTextNode()
appendChild()

  1. <div id="app"></div>
  2. <script>
  3. var app = document.getElementById("app");
  4. var p = document.createElement("p");
  5. var txt = document.createTextNode("hello world");
  6. p.appendChild(txt);
  7. app.appendChild(p);
  8. </script>

给元素添加内容innerHTML
insertBeforeparentNode .insertBefore (newNode,targetNode)
insertBefore向某个元素前面添加节点

  1. var app = document.getElementById("app");
  2. var js = document.getElementById("js");
  3. var li = document.createTextNode("li");
  4. li.innerHTML = "vue";
  5. app.insertBefore(li,js);

删除节点

removeChild() 让从元素DOM树,渲染树都消失

  1. <div id="app">
  2. <div id="child">child</div>
  3. </div>
  4. <script>
  5. var app = document.getElementById("app");
  6. var child = document.getElementById("child");
  7. app.removeChild(child);
  8. </script>

替换某个元素

replaceChild(newNode,targetNode)

  1. var app = document.getElementById("app");
  2. var child = document.getElementById("child");
  3. var p = document.createElement("p");
  4. p.innerHTML = "hello world";
  5. app.replaceChild(p,child);

克隆节点

node.cloneNode(true);

  1. <div id="app">
  2. <div class="one"></div>
  3. </div>
  4. <script>
  5. var app = document.getElementById("app");
  6. var one = document.getElementsByClassName("one")[0];
  7. var test = one.cloneNode(true);
  8. console.log(test);
  9. app.appendChild(test);
  10. </script>

二、 操作css

  1. add(); addClass(); this.classList.add("current")
  2. remove(); this.classList.remove("current")
  3. toggle(); this.classList.toggle("current")
  4. contains(); this.classList.contains("current")