zsydgithub 2 gadi atpakaļ
vecāks
revīzija
6bb5c42f14
3 mainītis faili ar 176 papildinājumiem un 0 dzēšanām
  1. 70 0
      6_Dom/10_节点遍历.html
  2. 64 0
      6_Dom/11_垂直导航.html
  3. 42 0
      6_Dom/12_节点操作.html

+ 70 - 0
6_Dom/10_节点遍历.html

@@ -0,0 +1,70 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+  <meta charset="UTF-8">
+  <meta http-equiv="X-UA-Compatible" content="IE=edge">
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  <title>Document</title>
+</head>
+
+<body>
+  <div id="div1">1111111</div>
+  <p id="p1">2222222222</p>
+  <ul id="ul1">
+    <li id="li1">1</li>
+    <li>2</li>
+    <li>3</li>
+  </ul>
+
+  <script>
+    var div1 = document.getElementById('div1')
+    var p1 = document.getElementById('p1')
+    var li1 = document.getElementById('li1')
+    var ul1 = document.getElementById('ul1')
+    // console.log(div1)
+    // console.log(div1.nodeType)
+    // console.log(div1.nextSibling)
+    // console.log(div1.previousSibling)
+    //nextSibling 指向下一个兄弟节点
+    //previousSibling 指向上一个兄弟节点
+    /*
+    元素节点的 nodeName 与标签名相同
+    属性节点的 nodeName 与属性名相同
+    文本节点的 nodeName 始终是 #text
+    文档节点的 nodeName 始终是 #document
+    */
+    // console.log(div1.nodeName)
+    // console.log(p1.nodeName)
+    // console.log(li1)
+    //nextElementSibling 下一个元素节点
+    // console.log(li1.nextElementSibling)
+    // console.log(li1.previousElementSibling)
+
+    console.log(li1.nodeName)
+    function next(elem){
+      do{
+        elem = elem.nextSibling
+      } while(elem.nodeType != 1)
+      return elem
+    }
+    console.log(next(p1))
+
+
+    console.log(ul1.firstChild)
+    console.log(ul1.lastChild)
+    console.log(ul1.firstElementChild)
+
+    //elem.nodeName == 'LI'
+    function first(elem){
+      elem = elem.firstChild
+      if(elem.nodeType != 1 ){
+        elem = next(elem)
+      }
+      return elem
+    }
+    console.log(first(ul1))
+  </script>
+</body>
+
+</html>

+ 64 - 0
6_Dom/11_垂直导航.html

@@ -0,0 +1,64 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+  <meta charset="UTF-8">
+  <meta http-equiv="X-UA-Compatible" content="IE=edge">
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  <title>Document</title>
+  <style>
+    *{
+      margin: 0;
+      padding: 0;
+    }
+    ul{
+      list-style: none;
+    }
+    h2{
+      width: 300px;
+      height: 50px;
+      background: black;
+      color: white;
+    }
+    ul{
+      display: none;
+    }
+  </style>
+</head>
+<body>
+  <div id="container">
+    <h2>管理区</h2>
+    <ul>
+      <li>111</li>
+      <li>111</li>
+      <li>111</li>
+    </ul>
+    <h2>交流区</h2>
+    <ul>
+      <li>456</li>
+      <li>456</li>
+      <li>456</li>
+    </ul>
+  </div>
+  <script>
+    var h2 = document.getElementsByTagName('h2')
+    // console.log(h2.nextElementSibling)
+    for(var i=0;i<h2.length;i++){
+      h2[i].onclick = function(){
+        var ul1 = next(this)
+        console.log(ul1)
+        if(ul1.style.display == 'block'){
+          ul1.style.display = 'none'
+        } else {
+          ul1.style.display = 'block'
+        }
+      }
+    }
+    function next(elem){
+      do{
+        elem = elem.nextSibling
+      } while (elem.nodeType != 1)
+      return elem
+    }
+  </script>
+</body>
+</html>

+ 42 - 0
6_Dom/12_节点操作.html

@@ -0,0 +1,42 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+  <meta charset="UTF-8">
+  <meta http-equiv="X-UA-Compatible" content="IE=edge">
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  <title>Document</title>
+</head>
+<body>
+  <div id="div1">
+    <p id="p1">123</p>
+    <p>456</p>
+  </div>
+  <script>
+    var a = document.createElement('p')
+    var b = document.createTextNode('这是一个新的文本')
+    console.log(a)
+    console.log(b)
+
+    
+    a.appendChild(b)
+    console.log(a)
+
+    //appendChild 像HTML里面添加新元素,必须先创建元素节点,然后追加
+    var div1 = document.getElementById('div1')
+    // div1.appendChild(a)
+
+    var p1 = document.getElementById('p1')
+    //insertBefore(参数1,参数2)  向参数2前面添加参数1
+    // div1.insertBefore(a,p1)
+    
+    //xx.remove()在页面中删除xx节点
+    // p1.remove()
+
+    //xx.removeChild()  移除xx里面的子节点
+    // div1.removeChild(p1)
+
+    //xx.replaceChild(新节点,旧节点)
+    div1.replaceChild(a,p1)
+  </script>
+</body>
+</html>