2011-02-10 17 views
15

使用getElementsByTagName讀取控件是閱讀元素的常見做法。不過,我想知道我們是否可以信任使用此函數返回元素的順序。使用getElementsByTagName()返回的元素的順序

它是否按照它們放置在UI上的順序返回元素?或者它也可以返回隨機元素,在其他時候我們不能相信序列?

var labels = document.getElementsByTagName("label"), i; 
for(i=0;i<labels.length;i++) 
{ 
    if(i == 1) 
     labels[i].innerText = "First Value"; 
    else if (i==2) 
     labels[i].innerText = "Second Value"; 

    if (labels[i].innerText == "NULL") { 
     labels[i].innerText = "Empty"; 
    } 
} 

回答

14

該函數總是以相同的深度優先順序返回元素。
這是它們在HTML樹結構中出現的順序。

+6

請包括對文檔的引用:「按照文檔樹的前序遍歷中遇到的順序,返回具有給定標籤名稱的所有元素的NodeList。」 http://www.w3.org/TR/REC-DOM-Level-1/level-one-core.html#method-getElementsByTagName – theazureshadow 2012-04-24 17:32:50

相關問題