KWALIFIKACJA INF3 - STYCZEŃ 2024

PYTANIE NR 31.
W kodzie HTML przypisano pewne znaczniki do klasy o nazwie "nomargin". Aby wykonać za pomocą języka JavaScript operacje na tych znacznikach, można posłużyć się funkcją
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Aby wykonać operacje na elementach HTML przypisanych do klasy "nomargin", należy pobrać je po nazwie klasy. Służy do tego metoda DOM getElementsByClassName("nomargin"), która zwraca kolekcję wszystkich pasujących elementów. Pozostałe propozycje dotyczą id, tagów lub nieistniejącej metody.

Pełne wyjaśnienie:

W HTML atrybut class służy do grupowania wielu elementów pod wspólną nazwą klasy (np. "nomargin"). Jeśli chcesz w JavaScript wykonać operacje na wszystkich elementach należących do tej klasy (np. zmienić styl, dodać obsługę zdarzeń, podmienić treść), musisz je najpierw odszukać w drzewie DOM według klasy.

Poprawna odpowiedź: getElementsByClassName("nomargin"). Ta metoda zwraca kolekcję (zwykle wiele elementów), bo jedna klasa może być przypisana do wielu znaczników. To dokładnie odpowiada opisowi: "pewne znaczniki" (liczba mnoga) mają klasę "nomargin".

Dlaczego pozostałe odpowiedzi są niepoprawne?

  • getElementById("nomargin") dotyczy atrybutu id, który w poprawnym HTML powinien być unikalny w całym dokumencie. Jeśli "nomargin" jest klasą, ta metoda nie spełnia warunku wyszukiwania.
  • getElementsByTagName("nomargin") wyszukuje po nazwie znacznika (np. "div", "p"), a nie po klasie. "nomargin" nie jest nazwą tagu HTML, tylko nazwą klasy.
  • getElement("nomargin") nie jest standardową metodą DOM do wyszukiwania elementów i w typowym JavaScript w przeglądarce nie zadziała.

Warto też pamiętać o praktyce: w wielu projektach używa się selektorów CSS i metod opartych o selektory, ale sama metoda wyszukiwania po klasie nadal jest elementem podstawowej wiedzy o DOM. Na egzaminie zwracaj uwagę, czy pytanie mówi o klasie, id czy znaczniku — to najczęstsze źródło pomyłek.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Metoda getElementsByClassName zwraca kolekcję (zwykle wiele elementów) pasujących do podanej nazwy klasy. Dzięki temu możesz wykonać operacje na całej grupie elementów mających klasę nomargin, np. iterować po kolekcji i zmieniać style lub podłączać zdarzenia.
getElementById wyszukuje element po atrybucie id, a nie po class. Id powinno być unikalne w dokumencie, a klasa może występować na wielu elementach. Jeśli "nomargin" jest klasą, użycie metody dla id nie spełnia warunku z pytania.
id identyfikuje pojedynczy, unikalny element w dokumencie, a class grupuje wiele elementów pod wspólną nazwą. W praktyce id często służy do wskazania jednego konkretnego elementu, a klasy do nadawania wspólnych stylów i zachowań wielu elementom.
To znaczy, że w kodzie HTML kilka elementów ma atrybut class zawierający nazwę "nomargin", np. class="nomargin". Zwykle zakłada to pracę na wielu elementach, więc szukasz metody, która potrafi zwrócić więcej niż jeden wynik.
Nie. getElementsByTagName działa wyłącznie na nazwach znaczników HTML (np. "div", "span", "p"). Nazwa klasy ("nomargin") nie jest nazwą tagu, więc ta metoda nie realizuje wyszukiwania elementów po klasie.
Wynikiem jest kolekcja elementów (najczęściej typu HTMLCollection), którą można przeglądać w pętli, np. po indeksach. Trzeba pamiętać, że to nie jest pojedynczy element, więc aby zmienić właściwości, zwykle iteruje się po wszystkich elementach kolekcji.
Najczęściej wykonuje się je w pętli, bo otrzymujesz kolekcję elementów. W niektórych sytuacjach możesz od razu odwołać się do konkretnego elementu, np. pierwszego w kolekcji, ale to ma sens tylko wtedy, gdy świadomie zakładasz istnienie konkretnego elementu na danej pozycji.
Najczęstsze pomyłki to: mylenie class z id, wybieranie metody "po tagu" zamiast "po klasie", ignorowanie liczby mnogiej (gdy chodzi o wiele elementów), oraz wybór metody, która nie istnieje w standardowym DOM.
Gdy chcesz obsłużyć wiele elementów o wspólnym przeznaczeniu (np. wszystkie kafelki, przyciski, pola obowiązkowe) lub nadać im wspólne zachowanie. Id wybiera się, gdy potrzebujesz wskazać jeden, konkretny element (np. główny formularz).
Opanuj różnice: wyszukiwanie po id, klasie i tagu, oraz to, czy metoda zwraca jeden element czy kolekcję. Ćwicz krótkie scenariusze: pobranie elementów, iteracja, zmiana stylu/klasy i podpinanie zdarzeń — to typowe obszary pytań egzaminacyjnych.
info

To pytanie poprawnie rozwiązuje 69% zdających egzamin. średnie

Specjaliści zwracają uwagę: "Aby wykonać operacje na elementach HTML przypisanych do klasy "nomargin", należy pobrać je po nazwie klasy."

Źródła:

  • MDN Web Docs: Document.getElementsByClassName() — https://developer.mozilla.org/en-US/docs/Web/API/Document/getElementsByClassName (dostęp: 2026-02-28)
  • MDN Web Docs: Document.getElementById() — https://developer.mozilla.org/en-US/docs/Web/API/Document/getElementById (dostęp: 2026-02-28)
  • MDN Web Docs: Document.getElementsByTagName() — https://developer.mozilla.org/en-US/docs/Web/API/Document/getElementsByTagName (dostęp: 2026-02-28)

Materiały:

  • MDN Web Docs: DOM – wyszukiwanie elementów w dokumencie
  • MDN Web Docs: document.getElementsByClassName() – opis i przykłady
  • Ćwiczenia: selektory CSS i ich odpowiedniki w metodach wyszukiwania DOM

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego