getElement[....]方法


getElementById()方法——通過ID獲取元素

標簽的id屬性值是唯一的,就像每個人有一個身份證號,通過身份證號就可以找到相對應的人,在網頁中先通過id找到標簽,然后進行操作

語法:

document.getElementById("id")

Eg:

結果:null或[object  HTMLParagraphElement]

注:獲取的元素是一個對象,如果對元素進行操作,我們要通過它的屬性或方法。

 

getElementsByName()方法

返回帶有指定名稱的節點對象的集合

語法

 document.getElementsByName(name) 

與getElementById() 方法不同的是,通過元素的 name 屬性查詢元素,而不是通過 id 屬性。

1、因為文檔中的name屬性可能不唯一,所以getElementsByName()方法返回的是元素的數組,而不是一個元素。

2、和數組類似也有length屬性,可以和訪問數組一樣的方法來訪問,從0開始。

<!DOCTYPE HTML>
<html>
  <head>
    <script type="text/javascript">
      function getElements(){
        var x=document.getElementsByName("alink");
        alert(x.length);
      }
    </script>
  </head>
  
  <body>
  <a name="alink" href="#">鏈接一</a><br/>
  <a name="alink" href="#">鏈接二</a><br/>
  <a name="alink" href="#">鏈接三</a><br/>
  <br/>
  <input type="button" onclick="getElements()" value="看看幾個鏈接?">
</body>
</html>

 

預覽

 

getElementsByTagName()方法

返回帶有指定標簽名的節點對象的集合。返回元素的順序是他們在文檔中的順序。

 語法

 document.getElementByTagName(Tagname) 

說明

1、Tagname是標簽的名稱,如p、a、img等標簽名。

2、和數組類似也有length屬性,可以和訪問數組一樣的方法來訪問,所以從0開始。

Eg:通過getElementsByTagName()獲取節點

<!DOCTYPE HTML>
<html>
    <head>
        <title>JavaScript</title>
        <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
    </head>
    
    <body>
        <p id="intro">我的課程</p>
        <ul>
            <li>JavaScript</li>
            <li>JQuery</li>
            <li>HTML</li>
            <li>JAVA</li>
            <li>PHP</li>
        </ul>
        <script >
            //獲取所有的li集合
            var list=document.getElementsByTagName('li');
            //訪問無序列表:[0]索引
            li = list[0];
            //獲取list的長度
            document.write(list.length);
            //彈出li節點對象的內容
            document.write(li.innerHTML);
        </script>
    </body>
</html>

效果

 

 區別getElementByID,   getElementsByName,  getElementsByTagName

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

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

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

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

代碼舉例

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

 input標簽就像人的類別

name屬性就像人的姓名

id屬性就像人的身份證

 

方法總結:

 

注:方法區分大小寫

 

例1:

 <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">  跑步 
  <input type="button" value = "全選" id="button1">
  <input type="button" value = "全不選" id="button1">

1. document.getElementsByTagName("input"),結果為獲取所有標簽為input的元素,共8個。

2. document.getElementsByName("hobby"),結果為獲取屬性name="hobby"的元素,共6個。

3. document.getElementById("hobby6"),結果為獲取屬性id="hobby6"的元素,只有一個,"跑步"這個復選項。

 

例2:

<!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">
        //checkall(),當點擊"全選"按鈕時,將選中所有的復選項。
        //document.getElementsByTagName("input")獲取的是所有input標簽,包括復選項和按鈕,所以要判斷是否是復選項,如是選中。
        function checkall(){
        var hobby = document.getElementsByTagName("input");
        for(i=0; i<hobby.length; i++){
        if(hobby[i].type == "checkbox")
        {
        hobby[i].checked = true;
        }
        }
        }
        //當點擊"全不選"按鈕時,將取消所有選中的復選項。
        function clearall(){
        var hobby = document.getElementsByName("hobby");
        for(i=0; i<hobby.length; i++){
        hobby[i].checked = false;
        }
        }
        //在文本框中輸入輸入1-6數值,當點擊"確定"按鈕時,根據輸入的數值,通過id選中相應的復選項。
        function checkone(){
        var j=document.getElementById("wb").value;
        //因為元素的id是hobby1、hobby2這樣的,"hobby"+j 就是要組成hobby2這樣的字符串
        var hobby=document.getElementById("hobby"+j);
        hobby.checked = true;
        }
        
        </script>
    </body>
</html>

 

getAttribute()方法

通過元素節點的屬性名稱獲取屬性的值

語法:

 elementNode.getAttribute(name) 

說明:

1、elementNode:使用getElementById()、getElementsByTagName()等方法,獲取到的元素節點。

2、name:要想查詢的元素節點的屬性名字

Eg:獲取h1標簽的屬性值

<!DOCTYPE HTML>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
        <title>getAttribute()</title>
    </head>
    
    <body>
        <h1 id="alink" title="getAttribute()獲取標簽的屬值" onclick="hattr()">點擊我,獲取標簽的屬值</h1>
        <script type="text/javascript">
            function hattr(){
                var anode=document.getElementById("alink");
                var attr1=anode.getAttribute("id");
                var attr2=anode.getAttribute("title");
                document.write("h1標簽的ID:"+attr1+"<br>");
                document.write("h1標簽的title:"+attr2);
            }
        </script>
    </body>
</html>

 

setAttribute()方法

增加一個指定名稱和值的新屬性,或者把一個現有的屬性設定為指定的值。

語法:

 elementNode.setAttribute(name, value) 

說明:

1、name:要設置的屬性名

2、value:要設置的屬性值

注意:

1、把指定的屬性設置為指定的值,如果不存在具有指定名稱的屬性,該方法將創建一個新屬性。

2、類似於getAttribute()方法,setAttribute()方法只能通過元素節點對象調用函數。

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>getAttribute()和setAttribute()方法</title>
</head>
<body>
  <p id="intro">我的課程</p>  
  <ul>  
    <li title="JS">JavaScript</li>  
    <li title="JQ">JQuery</li>  
    <li title="">HTML/CSS</li>  
    <li title="JAVA">JAVA</li>  
    <li title="">PHP</li>  
  </ul>  
  <h4>以下為li列表title的值,當title為空時,新設置值為"WEB前端技術":</h4>
<script type="text/javascript">
  var Lists=document.getElementsByTagName("li");
  for (var i=0; i<Lists.length;i++)
  {
      //使用getAttribut()方法獲取元素屬性值,保存在變量text。
    var text=Lists[i].getAttribute("title");
    document.write(text +"<br>");
    if(text=="")
    {
    //使用setAttribute()方法設置title屬性值。    
    Lists[i].setAttribute("title","WEB前端技術");
    document.write(Lists[i].getAttribute("title")+"<br>");
    }
  }
</script>
</body>
</html>

 


免責聲明!

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



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