1.1 getElementById() 通过id/class来获取

  1. <div id="app">one</div>
  2. <div class="one">one1</div>
  3. <div class="one">one2</div>
  4. <div class="one">one3</div>
  5. <script>
  6. /* 在文档上获取元素通过id */
  7. var app = document.getElementById("app");
  8. console.log(app)
  9. /* class HTMLCollection 数组 */
  10. var all = document.getElementsByClassName("one");
  11. console.log(all)
  12. </script>

1.2 getElementsByTagName() 通过标签名获取

  1. <div id="app">one</div>
  2. <div class="one">one1</div>
  3. <div class="one">one2</div>
  4. <div class="one">one3</div>
  5. <script>
  6. /* 通过标签名获取 */
  7. var divs = document.getElementsByTagName("div");
  8. console.log(divs);
  9. </script>

1.3 querySelectorAll() 通过选择器获取

  1. <div class="parent">
  2. <p>hello1</p>
  3. <p>hello2</p>
  4. </div>
  5. <script>
  6. /* 通过选择器获取 */
  7. var all = document.querySelectorAll(".parent p");
  8. console.log(all);
  9. </script>

1.4 nodeType 节点的类型

  • nodeType == 1 元素节点
  • nodeType == 2 属性节点
  • nodeType == 3 文本节点

    1. <p id="app">hello world</p>
    2. <script>
    3. /* 节点的类型 nodeType
    4. 元素节点 1
    5. 属性节点 2
    6. 文本节点 3
    7. */
    8. var app = document.getElementById("app");
    9. var app_id = app.getAttributeNode("id"); //getAttributeNode() 获取属性节点
    10. var txt = app.firstChild;
    11. console.log(app.nodeType);
    12. console.log(app_id.nodeType);
    13. console.log(txt.nodeType)
    14. </script>

    1.5 parentNode 获取所有父节点

    1. <div id="parent">
    2. <div id="child">child</div>
    3. </div>
    4. <!-- 1、获取父节点
    5. parentNode 获取元素的父节点
    6. -->
    7. <script>
    8. var child = document.getElementById("child");
    9. var parent = child.parentNode;
    10. console.log(parent)
    11. </script>

    1.6 childNodes 获取所有子节点

    1. <div id="parent">
    2. <p class="one">1</p>
    3. <p class="one">2</p>
    4. <p class="one">3</p>
    5. </div>
    6. <script>
    7. /* tips: childNodes获取所有类型的节点 */
    8. var parent = document.getElementById("parent");
    9. var childs = parent.childNodes;
    10. console.log(childs)
    11. console.log(parent.firstChild)
    12. </script>

    1.7 children 只获取子 元素 节点

    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. console.log(app.children) // 只获取子元素节点
    10. </script>

    1.8 节点和元素节点

    ```javascript firstChild() 获取第一个子节点 lastChild() 获取最后一个子节点

childNodes 获取所有子节点 children 获取所有子元素节点 parentNode 获取父节点

firstChild 获取第一个子节点 firstElementChild 获取第一个元素子节点 lastChild 获取最后一个子节点 lastElementChild 获取最后一个元素子节点

nextSibling 前一个节点 nextElementSibling 前一个元素节点 previousSibling 获取前一个兄弟节点 previousElementSibling 获取前一个兄弟元素节点 ```