KWALIFIKACJA INF3 - TEST WIEDZY NR 4

PYTANIE NR 37.
Jakiej metody użyjesz do dodania nowego elementu do DOM w JavaScript?
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Metoda appendChild() służy do dodania węzła jako ostatniego dziecka wybranego elementu w drzewie DOM. createElement() jedynie tworzy nowy element w pamięci, ale nie umieszcza go w dokumencie, więc do dodania i tak potrzebujesz metody wstawiającej (np. appendChild).

Pełne wyjaśnienie:

W DOM (Document Object Model) dokument HTML jest reprezentowany jako drzewo węzłów. Aby "dodać nowy element do DOM", trzeba wykonać czynność, która dołącza węzeł do drzewa, czyli ustawia go jako dziecko jakiegoś istniejącego elementu (rodzica).

Odpowiedź appendChild() jest poprawna, ponieważ metoda appendChild(node) z interfejsu Node dołącza przekazany węzeł jako ostatnie dziecko elementu nadrzędnego. Zwraca dodany węzeł, a jeśli węzeł był już w dokumencie, to zostanie przeniesiony w nowe miejsce (nie następuje automatyczne kopiowanie).

Pozostałe propozycje są niepoprawne z następujących powodów:

  • createElement() nie dodaje elementu do DOM. Ta metoda (zwykle wywoływana jako document.createElement(...)) tylko tworzy nowy obiekt elementu. Dopiero później trzeba go wstawić do dokumentu, np. przez parent.appendChild(newEl), ewentualnie inne metody wstawiające.
  • addElement() nie jest standardową metodą DOM API, więc nie można jej traktować jako poprawnego sposobu dodania węzła do dokumentu w czystym JavaScript.
  • insertElement() również nie występuje jako standardowa metoda DOM API. W praktyce do wstawiania przed innym węzłem używa się np. insertBefore(), ale to inna nazwa niż podana w odpowiedziach.

Wskazówka egzaminacyjna: gdy pytanie dotyczy "dodania do DOM", szukaj metod wstawiających (dołączających do drzewa), a nie metod tworzących obiekty elementów.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
appendChild() dołącza podany węzeł jako ostatnie dziecko wybranego elementu w drzewie DOM. Używa się jej, gdy chcesz faktycznie wstawić element do dokumentu, np. po utworzeniu go przez document.createElement().
createElement() tworzy tylko obiekt elementu w pamięci (węzeł), ale nie ustawia go w relacji rodzic–dziecko w drzewie DOM. Aby element pojawił się w dokumencie, trzeba go dopiero dołączyć metodą wstawiającą, np. appendChild().
Typowy schemat to: (1) utworzyć element przez document.createElement(), (2) ewentualnie ustawić tekst/atrybuty, (3) dołączyć do wybranego rodzica przez appendChild(). Dopiero krok 3 powoduje, że element staje się częścią DOM.
appendChild() nie kopiuje istniejącego węzła. Jeśli ten sam węzeł jest już w DOM, to zostanie przeniesiony do nowego rodzica jako ostatnie dziecko. Do tworzenia kopii używa się innych technik (np. klonowania węzłów).
appendChild() przyjmuje węzeł i zwraca dołączony węzeł. append() jest nowszą metodą i może dodawać także tekst oraz kilka argumentów naraz. Na egzaminie ważne jest rozumienie, że obie służą do dołączania do DOM, ale mają różne możliwości.
Gdy element ma się pojawić przed konkretnym istniejącym węzłem (nie na końcu). appendChild() zawsze dołącza jako ostatnie dziecko, więc nie kontroluje pozycji wewnątrz rodzica poza "na końcu". Wstawianie w środku zwykle wymaga metody typu insertBefore().
W standardowym DOM API przeglądarek nie ma metod o nazwach addElement() ani insertElement(). To częsty "fałszywy trop" wynikający z intuicyjnych nazw. W praktyce używa się metod takich jak appendChild(), append(), prepend() czy insertBefore().
Najczęstsze pomyłki to: mylenie createElement() z dodaniem do DOM, próba wywołania nieistniejących metod (np. "addElement"), wstawianie do niewłaściwego rodzica oraz brak świadomości, że appendChild() przenosi węzły zamiast je kopiować.
Najczęściej w miejscach, gdzie interfejs jest budowany dynamicznie: generowanie list z danych z API, dodawanie wierszy tabeli, tworzenie kafelków produktu, dopisywanie komunikatów czatu czy powiadomień. Zawsze chodzi o wstawienie nowego węzła do istniejącej struktury DOM.
Zwróć uwagę na czasowniki: "dodać do DOM", "dołączyć do drzewa", "umieścić w dokumencie". To sugeruje metodę, która zmienia strukturę relacji rodzic–dziecko (np. appendChild()). Słowa "utworzyć element" wskazują raczej na createElement(), czyli etap wcześniejszy.
info

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

Eksperci podkreślają: "Metoda appendChild() służy do dodania węzła jako ostatniego dziecka wybranego elementu w drzewie DOM."

Źródła:

  • MDN Web Docs: "Node.appendChild()" https://developer.mozilla.org/en-US/docs/Web/API/Node/appendChild (dostęp: 2026-03-01)
  • MDN Web Docs: "Document.createElement()" https://developer.mozilla.org/en-US/docs/Web/API/Document/createElement (dostęp: 2026-03-01)
  • WHATWG DOM Standard: "Node.appendChild" https://dom.spec.whatwg.org/#dom-node-appendchild (dostęp: 2026-03-01)

Materiały:

  • MDN Web Docs: dokumentacja metod appendChild() i createElement()
  • WHATWG DOM Standard: opis interfejsu Node i metody appendChild
  • Ćwiczenia praktyczne: tworzenie elementów i wstawianie ich do DOM w konsoli przeglądarki

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego