document.getElementsByName()的用法 當頁面上的控件同名且多個的時候,你首先作的是什麼?判斷長度?的確,從程序的嚴密角度出發,咱們是須要判斷長度,並且有長度和沒長度是兩種引用方法.咱們來看:數組
<!-- lang: js --> oEle= document.all.aaa ; //這裏有一個aaa的對象,但咱們不知道它如今長度是多少,因此沒辦法對它操做.所以,咱們要先作判斷長度的過程.以下: if(oEle.length){}else{}; //在兩種狀況下,花括號裏面的內容寫法也是不同的: if(oEle.length){ for(var i = 0 ;i<oEle.length;i++){ oEle[i].value; } }else{ oEle.value; };
可是這樣寫是否是太複雜了點?並且當花括號裏面的代碼比較多的時候,咱們要寫兩遍代碼,暈了先~ 還好有document.getElementsByName()這個方法。它對一個和多個的處理是同樣的,咱們能夠用: oEle = document.getElementsByName("aaa")來引用 當oEle只有1個的時候,那麼就是oEle[0],有多個的時候,用下標法oEle[i]循環獲取,是否是很簡單?code
可是它只能應用到document對象。相對應的,還有另外一個方法,能夠應用的對象會更廣一點: getElementsByTagName,好比我知道了一個<div id="aaa"><input/><input/>......</div>
我要取DIV裏面的全部input,這樣寫就能夠了:aaa.getElementsByTagName('input'),這樣就有效的能夠和別的div(好比說有個叫bbb的div,裏面的也是同樣的input)相區別. 同getElementsByTagName相對應,還有一個document.body.all.tags(),能用這個方法的對象比 getElementsByTagName要少得多.但比getElementsByName要多. 到這裏咱們還要提一下getElementById,它也是隻有document對象才能使用,並且返回的是數組的第一個元素,呵呵,它的方法名都寫明瞭是getElement而不是getElements,因此,千萬不要搞渾了.對象