getElementById和ByTagName的區別


原生js中獲取元素的方法有很多,那么今天就來重點說一下getElementById和ByTagName的區別:

1、getElementById前面必須是document;而getElementByTagName前面除了是document也可以是其他的元素;先來看一下簡單的html代碼

 1 <ul>
 2     <li></li>
 3     <li></li>
 4     <li></li>
 5 </ul>
 6 <ol>
 7     <li></li>
 8     <li></li>
 9     <li></li>
10 </ol>

舉例說明,就如上面的html,我們若是想要找到ol里的li,那么我們就應該先找到ol,然后找它里面的li,那么js代碼獲取就應該這么寫

1 var Ol=document.getElementById("ol");//就要先把ol上設個id,然后通過id找到它
2 var li=Ol.getElementsByTagName("li");//接下來就找ol里的li

2、getElementById算是一個靜態方法,而getElementByTagName是一個動態方法,需注意的是ByTagName找到的元素肯定是一個集合,就算頁面只有一個,那么也就說這個集合的長度為1,和數組類似。

比如,一個頁面里沒有任何標簽,但是我們想給它動態添加幾個button,那么我們就應該先給body添加幾個,應該這么寫:

1 document.body.innerHTML="<input type='button' value='按鈕'/>,<input type='button' value='按鈕'/>,<input type='button' value='按鈕'/>" ;

 

 給body添加完按鈕,那么我們想要找到這幾個按鈕中的第二個,那么就要通過ByTagName了,具體寫法是這樣的:

1  var Btn=document.etElementsByTagName("input");//先獲取頁面的上的button;
2      Btn[1].onclick=function(){//ByTagName獲取到的相當於是一個集合,和數組類似,但是不太一樣,所以也是從0開始的,想要找到第二個,那么后面就必須要跟[1]
3          alert("我是第二個按鈕")
4         };

 

 既然這里說到給body添加標簽,那么也再說一點,我們也可以改變頁面上title里的內容,具體寫法是:

1 document.title="歡迎你";//和在body里添加內容是不一樣,可以直接寫在document后面

 

 給body添加一定要記得寫innerHTML,而title卻不一樣。好了,今天就寫到這里吧,明天繼續!


免責聲明!

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



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