Порядок элементов, возвращаемых с помощью getElementsByTagName()

Чтение элементов управления с помощью getElementsByTagName является очень распространенной практикой для чтения элемента. Однако я хотел бы знать, можем ли мы доверять порядку, в котором элементы возвращаются с использованием этой функции.

Он возвращает элементы в том порядке, в котором они размещены в пользовательском интерфейсе? Или он может возвращать случайные элементы тоже, где мы не можем доверять последовательности в другое время?

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";
    }
}

Ответ 1

Эта функция всегда возвращает элементы в том же порядке глубины.
Это порядок, в котором они отображаются в структуре дерева HTML.