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不可以。關於創建元素,則需要另外了解了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM