javascript getElementsByTagName
更新時(shí)間:2011年01月31日 19:51:14 作者:
DC大神為早期不支持getElementsByTagName的瀏覽器寫的hack,當(dāng)然與原生的不能同日而言,原生的用到緩存機(jī)制呢。
復(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() 方法可返回帶有指定標(biāo)簽名的對(duì)象的集合。
語法
document.getElementsByTagName(tagname)
說明
getElementsByTagName() 方法返回元素的順序是它們?cè)谖臋n中的順序。
如果把特殊字符串 "*" 傳遞給 getElementsByTagName() 方法,它將返回文檔中所有元素的列表,元素排列的順序就是它們?cè)谖臋n中的順序。
提示和注釋
注釋:傳遞給 getElementsByTagName() 方法的字符串可以不區(qū)分大小寫。
實(shí)例
例子 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() 方法獲取文檔中的一個(gè)特定的元素。例如,下面的代碼可以獲得文檔中的第四個(gè)段落:
var myParagragh = document.getElementsByTagName("p")[3];
不過,我們還是認(rèn)為,如果您需要操作某個(gè)特定的元素,使用 getElementById() 方法將更為有效。
相關(guān)文章
javascript回調(diào)函數(shù)的概念理解與用法分析
這篇文章主要介紹了javascript回調(diào)函數(shù)的概念理解與用法,結(jié)合具體實(shí)例形式分析了javascript回調(diào)函數(shù)的功能、原理、使用方法與相關(guān)注意事項(xiàng),需要的朋友可以參考下2017-05-05
js實(shí)現(xiàn)select跳轉(zhuǎn)功能代碼
實(shí)現(xiàn)select跳轉(zhuǎn)的方法有很多,本例為大家介紹的是js實(shí)現(xiàn)的,通過location.href獲取跳轉(zhuǎn)地址,需要的朋友可以看看2014-10-10
JavaScript 事件屬性綁定帶參數(shù)的函數(shù)
在JavaScript中,為了實(shí)現(xiàn)表現(xiàn)和控制相分離,可以通過0級(jí)的DOM事件屬性或者2級(jí)的事件模型來實(shí)現(xiàn),不過這兩者在針對(duì)某個(gè)事件類型調(diào)用相應(yīng)的事件句柄的時(shí)候,不能給事件句柄提供參數(shù),也就是說,事件屬性的值只能是一個(gè)函數(shù)引用。2009-03-03
深入理解JavaScript和TypeScript中的class
class 聲明創(chuàng)建一個(gè)基于原型繼承的具有給定名稱的新類,下面這篇文章主要給大家介紹了關(guān)于JavaScript和TypeScript中class的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下。2018-04-04
JS獲取當(dāng)前日期和時(shí)間的簡單實(shí)例
這篇文章主要介紹了JS獲取當(dāng)前日期和時(shí)間的簡單實(shí)例,有需要的朋友可以參考一下2013-11-11
JavaScript中檢測數(shù)組的3種方法小結(jié)
數(shù)組檢測是指在編程中對(duì)數(shù)組進(jìn)行驗(yàn)證和檢查的過程,本文主要介紹了JavaScript中檢測數(shù)組的3種方法小結(jié),具有一定的參考價(jià)值,感興趣的可以了解一下2023-08-08

