getElementsByTagName()詳解

getElementsByTagName():方法的用途是尋找有着給定標籤名的所有的元素。

element = document.getElementsByTagName(tagName); 這個方法返回一個節點的集合,這個集合可以當做一個數組來處理。這個集合的length屬性等於當前文檔裏有着給定標籤名的所有元素的總個數。這個數組裏面的每個元素都是一個對象,他們都有着nodeName、nodeType、parentNode、childNodes等屬性。

下面的例子將把當前文檔裏的所有文本段元素(p元素)全部搜索出來,getElementsBuTagName()方法返回的節點集合的length屬性將被保存到變量howmany裏:

var paras = document.getElementsByTagName(“p”);
var howmany = paras.length;
在getElementsByTagName()方法返回成功後,比較常見的後續手段是用一個for循環去遍歷這個方法所有返回的集合裏面的各個元素,在for循環裏,我們可以使用setAttribute()、clone()或appendChild()等方法對各個有關元素進行查詢處理。

下面的例子將遍歷當前文件裏面的所有文本段元素,並將其title屬性全部設置爲空字符串:

var paras = document.getElementsByTagName(“p”);
for ( var i=0;i<paras.length;i++ ) {
paras[i].setAttribute(“title”,"");
}
在上例中,變量paras的數據類型是nodeList。這個集合裏的每一個元素可以像其他任何一個數組那樣進行訪問:paras[0]、paras[1]、paras[2]等等。當然也可以使用item()方法:paras.item[0]等等

getElementsByTagName()方法不必非得用在整個文檔上,他也可以用來在某個特定的元素的子節點當中尋找持有者給定標籤名的元素。

在下例中,在當前文檔裏包含着一個id屬性值是content元素,爲了找出content元素所包含的所有文本段元素,我們把getElementsByTagName()方法用在了content上:

var container = document.getElementById(“content”);
var paras = container.getElementsByTagName(“p”);
var howmany = paras.length;
執行完上面的這些語句後,變量howmany的值將是包含在content元素裏的所有文本元素的總分數,而不是包含在文檔裏面文本段總個數。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章