1.节点事件

1-1 节点获取

  1. <!--1 元素节点
  2. 3 文本节点
  3. 2 属性节点 -->
  4. <!-- getAttributeNode() 获取节点属性
  5. firstChild获取第一个子节点 -->
  6. <p id="app">hello world</p>
  7. <script>
  8. var app=document.getElementById("app");
  9. var id=app.getAttributeNode("id");
  10. console.log(app.nodeType)//1
  11. console.log(app.firstChild.nodeType)//3
  12. console.log(id.nodeType)//2
  13. </script>

1-2获取元素节点

  1. <ul id="app">
  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. var arr=[];
  11. for(var i=0;i<childs.length;i++){
  12. if(childs[i].nodeType ==1){
  13. arr.push(childs[i])
  14. }
  15. }
  16. console.log(arr);//==1,li li li li
  17. //==3,text*5
  18. </script>

1-3 获取全部元素

  1. <ul id="app">
  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. // var children=app.children;
  11. console.log(childs)//全部元素text li text li text li text li text
  12. // console.log(children)//元素节点 li li li li

1-4 增加节点元素

  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>

1-5 修改节点元素

  1. <ul id="app">
  2. <li>html</li>
  3. <li id="js">javascript</li>
  4. </ul>
  5. <script>
  6. // 给元素添加内容innerHTML
  7. /*
  8. parentNode.insertBefore(newNode,targetNode)
  9. */
  10. var app=document.getElementById("app");
  11. var js=document.getElementById("js") ;
  12. var li=document.createElement("li");
  13. li.innerHTML="vue";
  14. app.insertBefore(li,js);
  15. </script>

1-6 移除节点元素

  1. <div id="app">
  2. <div id="child">child</div>
  3. </div>
  4. <script>
  5. // removeChild()让从元素DOM树,渲染树上都消失
  6. var app=document.getElementById("app");
  7. var child =document.getElementById("child");
  8. app.removeChild(child);
  9. </script>

1-7 替换节点元素

  1. <div id="app">
  2. <div id="child">child</div>
  3. <!-- <p id="p">hello world</p> -->
  4. </div>
  5. <!-- 替换某个元素
  6. replaceChild(newNode,targetNode) -->
  7. <script>
  8. var app=document.getElementById("app");
  9. var child =document.getElementById("child");
  10. var p=document.createElement("p");
  11. p.innerHTML="hello world";
  12. app.replaceChild(p,child);
  13. </script>

1-8 克隆节点

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