zoukankan      html  css  js  c++  java
  • Javascript获取元素节点的六种方法(Dom)

    Javascript中,Dom节点常见的只有三种:分别是元素节点,属性节点,文本节点。我们可以用nodeType值来判断节点的类型,它们对应的nodeType属性值分别是1,2,3。

    而获取元素节点,有六种方式。

    1.getElementById()

    通过id来选中元素。使字变成红色。

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
        <div id="div1">Javascript</div>
    </body>
    <script>
         function func() {
            var oDiv = document.getElementById("div1");
            oDiv.style.color = "red";
        }
        func()
    </script>
    </html>
    2.getElementsByTagName()

    通过标签名来选中元素。

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
        <ul id="list">
            <li>HTML</li>
            <li>CSS</li>
            <li>Javascript</li>
            <li>jQuery</li>
            <li>Vue.js</li>
        </ul>
    </body>
    <script>
         function func() {
             var oUl = document.getElementById("list");
             var oList = document.getElementsByTagName("li");
             oList[2].style.color = "red";
         }
         func()
    </script>
    </html>
    结果:

    image

    3.getElementsByClassName()

    通过类名来获取元素。

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
        <ul id="list">
            <li>HTML</li>
            <li>CSS</li>
            <li class="select">Javascript</li>
            <li class="select">jQuery</li>
            <li class="select">Vue.js</li>
        </ul>
    </body>
    <script>
         function func() {
             var oList = document.getElementsByClassName("select");
             oList[0].style.color = "red";
         }
         func()
    </script>
    </html>
    结果与上面相同。
    4.querySelector与querySelectorAll()

    分别表示满足条件的第一个元素或者所有元素。括号内的写法与CSS选择器的写法一样。

    document.querySelectorAll(“.test”)表示获取所有class为test的元素。

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
        <div>JavaScript</div>
        <div class="test">JavaScript</div>
        <div class="test">JavaScript</div>
        <div>JavaScript</div>
        <div class="test">JavaScript</div>
    </body>
    <script>
        function func() {
            var oDiv = document.querySelectorAll(".test");
            oDiv[0].style.color = "red";
        }
        func()
    </script>
    </html>

    也可以使用quesrySelector()精确地获取某个元素。

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
        <ul id="list">
            <li>javascript</li>
            <li>javascript</li>
            <li>javascript</li>
            <li>javascript</li>
            <li>javascript</li>
        </ul>
    </body>
    <script>
        function func() {
            var oLi = document.querySelector("#list li:nth-child(3)");
            oLi.style.color = "red";
        }
        func()
    </script>
    </html>
    5.getElementsByName()

    通过name属性来获取表单元素。一般也只用表单元素。

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
        <label><input type="radio" name="status" value="本科"/>本科</label>
        <label><input type="radio" name="status" value="硕士"/>硕士</label>
        <label><input type="radio" name="status" value="博士"/>博士</label>
    </body>
    <script>
        function func() {
            var oInput = document.getElementsByName("status");
            oInput[2].checked = true;
        }
        func()
    </script>
    </html>
    6.document.title和document.body

    获取一个页面仅有的一个title和body元素。

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    </body>
    <script>
        function func() {
            document.title = "这是title元素";
            document.body.innerHTML = "<p style='color: red'>这是body元素</p>";
        }
        func()
    </script>
    </html>

    最后,注意getElementByTagName可以操作动态创建的Dom,而getElsmentById不可以。关于创建元素,则需要另外了解了。

  • 相关阅读:
    SQL 基础题。
    C# 多维数组.
    C# 泛型相关.
    C# 委托数组.
    ActiveX的数字签名
    Asp.Net Html标记替换.感谢个热心人。弄了好久.
    关于TableLayoutPanel里放入控件无法将Dock设为Fill的解决办法
    服务器×××上的MSDTC不可用解决办法
    vista home下运行asp.net2.0 程序环境配置
    麦克风的调节
  • 原文地址:https://www.cnblogs.com/haoqirui/p/10550007.html
Copyright © 2011-2022 走看看