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.