Przejdź do głównej treści

Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

Zawód: Technik informatyk, Technik programista

Kategorie: Programowanie webowe JavaScript

Słowa kluczowe: Atrybut id w HTML DOM w JavaScript Funkcje w JavaScript document.getElementById() w JavaScript

W języku JavaScript metoda document.createElement("p") ma za zadanie

A. utworzyć nowy element p, który nie jest jeszcze częścią dokumentu.
Dobrze. Metoda tworzy nowy element w pamięci. Na stronie pojawi się dopiero po wstawieniu, np. przez appendChild.
B. utworzyć akapit i od razu wyświetlić go na końcu strony.
Źle. Utworzony element nie trafia sam na stronę. Trzeba go wstawić, np. przez appendChild.
C. zwrócić odniesienie do pierwszego akapitu istniejącego na stronie.
Źle. Istniejący akapit znajduje querySelector("p"). createElement tworzy nowy element.
D. usunąć wszystkie akapity z dokumentu.
Źle. Elementy usuwa remove() albo removeChild, a nie metoda tworząca.

document.createElement("p") tworzy w pamięci nowy, pusty element <p> i zwraca do niego odniesienie. Element jeszcze nie jest częścią strony i niczego nie widać. Dopiero wstawienie go do drzewa dokumentu, np. document.body.appendChild(akapit), sprawia, że się pojawi.

Typowy schemat ma trzy kroki: let akapit = document.createElement("p");, potem akapit.textContent = "Nowy akapit";, na koniec document.getElementById("lista").appendChild(akapit);. Do wstawiania służą też append, prepend i insertBefore. Tak budują zawartość strony skrypty, które dopisują wiersze tabeli albo pozycje listy po kliknięciu przycisku.

Element tworzony w ten sposób jest od razu obiektem, więc można mu nadać klasę przez className jeszcze przed wstawieniem.

Wybór błędnej odpowiedzi bierze się najczęściej z założenia, że utworzony element od razu staje się widoczny. Tak nie jest: createElement tylko tworzy obiekt, a o jego miejscu w dokumencie decyduje osobne wywołanie appendChild lub append. Bez tego akapit zniknie razem ze zmienną.

Odniesienie do istniejącego akapitu zwraca document.querySelector("p") albo document.getElementsByTagName("p")[0]. Te metody szukają elementów, które już są w dokumencie. createElement nikogo nie szuka, tylko tworzy nowy obiekt.

Usuwanie elementów wykonuje się metodą remove() na elemencie albo removeChild na jego rodzicu. Żadna metoda o nazwie zaczynającej się od create niczego nie usuwa.

Kolejność jest zawsze taka sama: utwórz element, uzupełnij jego treść i atrybuty, wstaw go do dokumentu. Pominięcie ostatniego kroku to najczęstszy powód, dla którego skrypt „nic nie robi”, choć nie zgłasza żadnego błędu w konsoli.

Wymagane logowanie

Ocenianie trudności pytań jest dostępne tylko dla zalogowanych użytkowników. Zaloguj się, aby skorzystać z pełni możliwości platformy.

Twoja ocena pomoże innym uczniom w przygotowaniu do egzaminu, a Tobie pozwoli na dostęp do spersonalizowanych statystyk.

Zgłoś błąd w pytaniu

Rozwiń sekcję i zmień pole, którego dotyczy błąd. Wysłane zostaną tylko zmienione sekcje.

Błędna kwalifikacja
Błąd w treści pytania
Błąd w treści odpowiedzi
Błąd w obrazie
Dane kontaktowe (opcjonalnie)
Podaj email, jeśli chcesz otrzymać informację o rozpatrzeniu zgłoszenia.