KWALIFIKACJA INF3 - STYCZEŃ 2021

PYTANIE NR 35.
W kodzie JavaScript pobrano element za pomocą metody getElementById. Aby zmodyfikować zawartość (treść) elementu można użyć właściwości
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
innerHTML to właściwość obiektu elementu DOM zwróconego przez getElementById, która pozwala odczytać lub ustawić jego zawartość jako HTML. Po przypisaniu nowej wartości przeglądarka interpretuje ją jako kod HTML i aktualizuje drzewo DOM danego elementu.

Pełne wyjaśnienie:

Metoda getElementById zwraca referencję do konkretnego elementu w drzewie DOM. Aby zmienić "treść" takiego elementu, używa się jego właściwości. Właściwość innerHTML przechowuje zawartość elementu jako tekst HTML: można ją odczytać albo nadpisać, np. ustawiając nowy fragment znaczników, który zostanie zinterpretowany przez przeglądarkę.

Odpowiedź innerHTML jest poprawna, bo jest to standardowa właściwość elementów (Element) w DOM służąca do modyfikacji zawartości HTML wewnątrz danego węzła.

Pozostałe propozycje są niepoprawne, ponieważ nie są właściwościami używanymi do tego celu w standardowym API przeglądarkowym:

  • HTML – nie jest typową właściwością elementu DOM służącą do ustawiania zawartości. To raczej ogólne określenie języka znaczników, a nie nazwa właściwości.
  • innerBody – taka właściwość nie występuje w standardowym DOM; nazwa jest podobna do innerHTML, co może wprowadzać w błąd.
  • Body – "body" to element dokumentu, ale nie jest to właściwość zwróconego elementu używana do ustawiania jego treści. Nawet jeśli pracujemy na dokumencie, modyfikację treści wykonuje się przez właściwości elementów (np. innerHTML lub, dla samego tekstu, textContent).

W praktyce warto pamiętać o doborze narzędzia: innerHTML nadaje się do wstawiania HTML, ale przy danych od użytkownika wymaga ostrożności (ryzyko XSS). Jeśli chcesz zmienić wyłącznie tekst bez interpretacji znaczników, często lepszym wyborem jest textContent.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
innerHTML to właściwość elementu DOM, która zwraca lub ustawia jego zawartość jako tekst HTML. Gdy ustawisz nową wartość, przeglądarka parsuje ją jak HTML i aktualizuje dzieci danego elementu w drzewie DOM.
Najpierw pobierz element, a potem ustaw właściwość zawartości, np. innerHTML. Przykład: el.innerHTML = "Nowa treść". Jeśli chcesz wstawić tylko tekst (bez HTML), rozważ użycie textContent.
Bo innerHTML interpretuje wstawiany tekst jako HTML. Gdy wstawiasz niesprawdzone dane (np. od użytkownika), rośnie ryzyko XSS. Do samego tekstu bez znaczników bezpieczniej i czytelniej jest użyć textContent.
innerHTML wstawia/odczytuje HTML i może tworzyć znaczniki oraz elementy potomne. textContent traktuje wszystko jako zwykły tekst, nie interpretuje znaczników i nie tworzy HTML. Wybór zależy od tego, czy potrzebujesz formatowania HTML.
Tak, gdy przypiszesz nową wartość do innerHTML, przeglądarka zastępuje dotychczasową zawartość elementu nową. Jeśli chcesz dopisać treść, zwykle łączy się tekst, np. el.innerHTML += "...", ale to też przebudowuje zawartość.
Gdy zadanie mówi o zmianie "tekstu" lub "napisu" i nie wymaga wstawiania znaczników HTML. textContent jest wtedy prostsze, szybsze w ocenie i unika interpretacji HTML. innerHTML wybieraj, gdy masz wprost wstawiać HTML.
Nie jako typowa właściwość elementu do ustawiania treści. W DOM spotkasz m.in. innerHTML, textContent czy innerText (zależnie od przeglądarki/znaczenia). Sama nazwa "HTML" to raczej skrót języka, nie API.
innerBody nie jest standardową właściwością elementu DOM, więc to typowa "pułapka" oparta na podobieństwie do innerHTML. Body kojarzy się z elementem dokumentu, ale nie jest właściwością służącą do ustawiania treści pobranego elementu.
Wpisz w konsoli wynik, np. console.log(document.getElementById("id")). Jeśli zobaczysz obiekt elementu, pobranie się udało. Jeśli dostaniesz null, to znaczy, że taki identyfikator nie istnieje w DOM lub kod wykonał się za wcześnie.
Najczęściej: literówki w identyfikatorze, wywołanie kodu przed załadowaniem DOM (null), mylenie innerHTML z textContent, oraz wstawianie niesprawdzonych danych do innerHTML. Pomaga test w konsoli i czytanie treści zadania.
info

Około 73% zdających odpowiada poprawnie na to pytanie. średnio łatwe

Specjaliści zwracają uwagę: "innerHTML to właściwość obiektu elementu DOM zwróconego przez getElementById, która pozwala odczytać lub ustawić jego zawartość jako HTML."

Źródła:

  • MDN Web Docs: Element.innerHTML — https://developer.mozilla.org/en-US/docs/Web/API/Element/innerHTML (dostęp: 2026-03-04)
  • MDN Web Docs: Document.getElementById() — https://developer.mozilla.org/en-US/docs/Web/API/Document/getElementById (dostęp: 2026-03-04)
  • MDN Web Docs: Node.textContent — https://developer.mozilla.org/en-US/docs/Web/API/Node/textContent (dostęp: 2026-03-04)

Materiały:

  • Dokumentacja MDN: element.innerHTML oraz Node.textContent
  • Ćwiczenia: manipulacja DOM (pobieranie elementów, zmiana treści, obsługa zdarzeń)
  • Materiały o bezpieczeństwie: ryzyko XSS przy wstawianiu niesprawdzonych danych do innerHTML

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego