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元素里的所有文本元素的總分數,而不是包含在文檔里面文本段總個數。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM