document.getElementsByName(name)方法可返回帶有指定名稱的對象的集合。
語法
document.getElementsByName(name)該方法與
getElementById() 方法相似,但是它查詢元素的 name
屬性,而不是 id 屬性。
另外,因爲一個文檔中的 name 屬性可能不唯一(如 HTML
表單中的單選按鈕通常具有相同的 name 屬性),所有 getElementsByName()
方法返回的是元素的
數組,而不是一個元素。如果一個文檔中有兩個以上的標籤NAME相同,那麼getElementsByName()就可以取得這些元素組成一個
數組。
比如有兩個DIV:
<div name="docname" id="docid1"></div>
<div name="docname" id="docid2"></div>
那麼可以用getElementsByName("docname")獲得這兩個DIV,用getElementsByName("docname")[0]訪問第一個DIV,用getElementsByName("docname")[1]訪問第二個DIV。
下面我們舉一個完整的例子:
<html>
<head>
<script type="text/javascript">
function getElements()
{
var x=document.getElementsByName("myInput");
alert(x.length);
}
</script>
</head>
<body>
<input name="myInput" type="text" size="20" /><br />
<input name="myInput" type="text" size="20" /><br />
<input name="myInput" type="text" size="20" /><br />
<br />
<input type="button" οnclick="getElements()" value="我們能得到多少個名稱爲‘myInput’的元素呢?" />
</body>
</html>
注意:如果你在彈出alert(doms.length)[這裏的doms指的是返回的元素集合]爲0的話,要判斷一下js的位置是否放到了元素的上方,可以嘗試改放在元素下面執行,有時沒有放在函數裏面執行的js可能會導致找不到元素而出現未知的結果。