W języku JavaScript należy odwołać się do trzeciego akapitu w podanym fragmencie kodu HTML. Można to zrobić za pomocą funkcji
<body> <p>pierwszy akapit</p> <p>drugi akapit</p> <p>trzeci akapit</p> </body>
A. getElementsByTagName('p')[3]
B. getElementsByTagName('p')[2]
C. getElementById('p3')
D. getElement('p')[2]
Poprawna jest forma getElementsByTagName('p')[2]. Metoda getElementsByTagName('p') wyszukuje w dokumencie wszystkie elementy o znaczniku p i zwraca kolekcję elementów w kolejności występowania w kodzie HTML. Dostęp do elementów kolekcji odbywa się przez indeks w nawiasach kwadratowych, a indeksowanie w JavaScript zaczyna się od 0. Dlatego pierwszy akapit ma indeks 0, drugi indeks 1, a trzeci indeks 2. Do zapamiętania: trzeci element kolekcji to element[2], nie element[3]. W praktyce zapis często ma postać document.getElementsByTagName('p')[2]. Tego typu odwołania stosuje się przy manipulacji DOM, np. przy zmianie treści, stylu albo atrybutów wybranego elementu strony.
W tym zadaniu decyduje sposób wybierania elementów DOM oraz numerowanie indeksów w JavaScript. getElementsByTagName('p')[3] korzysta z właściwej metody wyszukującej akapity, ale wskazuje element o indeksie 3, czyli czwarty akapit. W podanym fragmencie są tylko trzy akapity, więc taki indeks nie prowadzi do trzeciego elementu. getElementById('p3') byłoby trafne tylko wtedy, gdyby akapit miał atrybut id="p3", a w pokazanym kodzie żaden element nie ma identyfikatora. getElement('p')[2] nie jest standardową metodą DOM w JavaScript, więc nie służy do pobierania elementów po nazwie znacznika. Poprawny zapis to getElementsByTagName('p')[2], ponieważ metoda pobiera kolekcję wszystkich elementów p, a trzeci element tej kolekcji ma indeks 2. Typowy błąd polega na liczeniu elementów od 1 zamiast od 0 albo na pomyleniu wyboru po identyfikatorze z wyborem po nazwie znacznika.