javascript getElementsByTagName
更新時間:2011年01月31日 19:51:14 作者:
DC大神為早期不支持getElementsByTagName的瀏覽器寫的hack,當(dāng)然與原生的不能同日而言,原生的用到緩存機制呢。
復(fù)制代碼 代碼如下:
function getElementsByTagName(node, tagName) {
var elements = [], i = 0, anyTag = tagName === "*", next = node.firstChild;
while ((node = next)) {
if (anyTag ? node.nodeType === 1 : node.nodeName === tagName) elements[i++] = node;
next = node.firstChild || node.nextSibling;
while (!next && (node = node.parentNode)) next = node.nextSibling;
}
return elements;
};
定義和用法
getElementsByTagName() 方法可返回帶有指定標簽名的對象的集合。
語法
document.getElementsByTagName(tagname)
說明
getElementsByTagName() 方法返回元素的順序是它們在文檔中的順序。
如果把特殊字符串 "*" 傳遞給 getElementsByTagName() 方法,它將返回文檔中所有元素的列表,元素排列的順序就是它們在文檔中的順序。
提示和注釋
注釋:傳遞給 getElementsByTagName() 方法的字符串可以不區(qū)分大小寫。
實例
例子 1
復(fù)制代碼 代碼如下:
<html>
<head>
<script type="text/javascript">
function getElements()
{
var x=document.getElementsByTagName("input");
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" onclick="getElements()"
value="How many input elements?" />
</body>
</html>
例子 2
可以用 getElementsByTagName() 方法獲取任何類型的 HTML 元素的列表。例如,下面的代碼可獲取文檔中所有的表:
復(fù)制代碼 代碼如下:
var tables = document.getElementsByTagName("table");
alert ("This document contains " + tables.length + " tables");
例子 3
如果您非常了解文檔的結(jié)構(gòu),也可以使用 getElementsByTagName() 方法獲取文檔中的一個特定的元素。例如,下面的代碼可以獲得文檔中的第四個段落:
var myParagragh = document.getElementsByTagName("p")[3];
不過,我們還是認為,如果您需要操作某個特定的元素,使用 getElementById() 方法將更為有效。
相關(guān)文章
深入探討JavaScript、JQuery屏蔽網(wǎng)頁鼠標右鍵菜單及禁止選擇復(fù)制
這篇文章主要介紹了深入探討JavaScript、JQuery屏蔽網(wǎng)頁鼠標右鍵菜單及禁止選擇復(fù)制,需要的朋友可以參考下2014-06-06動態(tài)創(chuàng)建script標簽實現(xiàn)跨域資源訪問的方法介紹
本篇文章主要是對動態(tài)創(chuàng)建script標簽實現(xiàn)跨域資源訪問的方法進行了介紹,需要的朋友可以過來參考下,希望對大家有所幫助2014-02-02使用gulp搭建本地服務(wù)器并實現(xiàn)模擬ajax
這篇文章主要給大家介紹了如何使用gulp搭建本地服務(wù)器并實現(xiàn)模擬ajax的相關(guān)資料,文中介紹的非常詳細,相信對大家具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧。2017-04-04