2011-02-10 18 views
15

Odczytywanie elementów sterujących za pomocą getElementsByTagName jest bardzo powszechną praktyką czytania elementu. Chciałbym jednak wiedzieć, czy możemy ufać kolejności, w której elementy są zwracane za pomocą tej funkcji.Kolejność elementów zwracanych przy użyciu metody getElementsByTagName()

Czy zwraca elementy w kolejności, w jakiej zostały umieszczone w interfejsie użytkownika? Lub może zwrócić losowe elementy, jeśli nie możemy zaufać sekwencji w innym czasie?

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

Odpowiedz

14

Ta funkcja zawsze zwraca elementy w tej samej kolejności - w pierwszej kolejności.
To jest kolejność, w jakiej pojawiają się w strukturze drzewa HTML.

+6

Proszę podać odniesienie do dokumentacji: "Zwraca listę NodeList wszystkich elementów o podanej nazwie znacznika w kolejności, w jakiej napotkano by je podczas wstępnego przejścia w drzewie dokumentu." http://www.w3.org/TR/REC-DOM-Level-1/level-one-core.html#method-getElementsByTagName – theazureshadow

Powiązane problemy