區別getElementByID,getElementsByName,getElementsByTagName


以人來舉例說明,人有能標識身份的身份證,有姓名,有類別(大人、小孩、老人)等。

1. ID 是一個人的身份證號碼,是唯一的。所以通過getElementById獲取的是指定的一個人。

2. Name 是他的名字,可以重復。所以通過getElementsByName獲取名字相同的人集合。

3. TagName可看似某類,getElementsByTagName獲取相同類的人集合。如獲取小孩這類人,getElementsByTagName("小孩")。

把上面的例子轉換到HTML中,如下:

<input type="checkbox" name="hobby" id="hobby1">  音樂

input標簽就像人的類別。

name屬性就像人的姓名。

id屬性就像人的身份證。

getElementById   通過指定ID 獲取元素。  是一個

getElementsByName   通過元素名稱 name 屬性 獲取元素, 一組

getElementsByTayName  通過標簽名 獲取元素, 一組

注意: 區別大小寫。

 

案例1: 如下圖:

<!DOCTYPE HTML>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>無標題文檔</title>
</head>

<body>
<form>
    請選擇你愛好:<br>
    <input type="checkbox" name="hobby" id="hobby1"> 音樂
    <input type="checkbox" name="hobby" id="hobby2"> 登山
    <input type="checkbox" name="hobby" id="hobby3"> 游泳
    <input type="checkbox" name="hobby" id="hobby4"> 閱讀
    <input type="checkbox" name="hobby" id="hobby5"> 打球
    <input type="checkbox" name="hobby" id="hobby6"> 跑步 <br>
    <input type="button" value="全選" onclick="checkall();">
    <input type="button" value="全不選" onclick="clearall();">

    <p>請輸入您要選擇愛好的序號,序號為1-6:</p>
    <input id="wb" name="wb" type="text">
    <input name="ok" type="button" value="確定" onclick="checkone();">
</form>
<script type="text/javascript">
    function checkall() {
        var hobby = document.getElementsByTagName("input");
        for (var i = 0; i < hobby.length; i++) {
            hobby[i].checked = true;

        }

    }
    function clearall() {
        var hobby = document.getElementsByName("hobby");
        for (var i = 0; i < hobby.length; i++) {
            hobby[i].checked = false;
        }
    }
    function checkone() {
        clearall();
        var j = document.getElementById("wb").value;
        var hody=document.getElementsByName("hobby");
        if(parseInt(j)<1|| parseInt(j)>6){
            alert("請輸入1到6之前的數字");
        }else{
            var a=parseInt(j);
            hody[a-1].checked=true;
        }
    }

</script>
</body>
</html>

 


免責聲明!

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



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