KWALIFIKACJA INF3 - CZERWIEC 2017

PYTANIE NR 37.
W języku JavaScript, aby zmienić wartość atrybutu znacznika HTML, po uzyskaniu obiektu za pomocą metody getElementByld należy skorzystać z
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
setAttribute służy do ustawiania (zmiany) wartości atrybutu wskazanego elementu DOM, np. zmiany src w <img> albo href w <a>. getAttribute tylko odczytuje atrybut, a innerHTML zmienia treść/HTML wewnątrz elementu, nie jego atrybuty.

Pełne wyjaśnienie:

Po pobraniu elementu z dokumentu (np. przez getElementById) otrzymujesz obiekt DOM reprezentujący dany znacznik HTML. Aby zmienić wartość atrybutu (np. src, href, alt, title), standardowym i bezpośrednim sposobem jest użycie metody setAttribute(nazwa, wartość). Metoda ta zapisuje atrybut o podanej nazwie na elemencie.

Odpowiedź "metody getAttribute." jest błędna, ponieważ getAttribute służy do odczytu aktualnej wartości atrybutu, a nie do jej ustawiania. Typowa pułapka polega na podobieństwie nazw: oba wywołania działają na atrybutach, ale jedno jest do pobierania, drugie do ustawiania.

Odpowiedź "pola innerHTML." jest błędna, bo innerHTML dotyczy zawartości elementu (HTML wewnątrz znacznika), a nie atrybutów znacznika. Zmiana innerHTML może przebudować wnętrze elementu, ale nie jest właściwym narzędziem do ustawiania np. href lub src.

Odpowiedź "pola attribute i podać nazwę atrybutu." jest błędna, ponieważ w standardowym API DOM nie używa się uniwersalnego pola attribute do ustawiania dowolnych atrybutów w ten sposób. Do pracy z atrybutami stosuje się metody takie jak setAttribute/getAttribute albo (w zależności od przypadku) odpowiednie właściwości DOM.

Wskazówka egzaminacyjna: gdy w treści pojawia się "zmienić wartość atrybutu", szukaj w odpowiedziach czasownika "set/ustaw" i metody związanej bezpośrednio z atrybutami, a nie z treścią elementu.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Metoda setAttribute() ustawia lub zmienia wartość atrybutu na elemencie DOM, np. zmienia href w linku albo src w obrazku. Składnia to zwykle: element.setAttribute('nazwa', 'wartość').
Pobierz element (np. po id), a potem ustaw atrybut: img.setAttribute('src','nowy.jpg'). To zmienia atrybut HTML, dzięki czemu przeglądarka wczyta nowy obraz. Alternatywnie często spotkasz właściwość img.src, ale pytania egzaminacyjne zwykle rozróżniają atrybuty i właściwości.
getAttribute() służy wyłącznie do odczytu wartości atrybutu, czyli zwraca tekst z aktualną wartością. Nie przyjmuje nowej wartości do zapisania, więc nie może "zmienić" atrybutu. Do zapisu służy setAttribute().
Atrybut HTML to para nazwa=wartość zapisana w znaczniku, np. href, id, class. W DOM można je odczytywać i zmieniać metodami atrybutów. Ważne: niektóre rzeczy w DOM występują też jako właściwości obiektu i mogą zachowywać się nieco inaczej.
innerHTML zmienia zawartość HTML wewnątrz elementu (to, co jest między tagami). setAttribute() zmienia atrybut elementu (to, co jest w tagu jako cecha, np. title, href). Na egzaminie rozpoznaj, czy pytanie dotyczy treści elementu, czy jego atrybutów.
Tak, setAttribute() może ustawić atrybuty takie jak class i id. Przykład: el.setAttribute('class','btn'). W praktyce często używa się też wygodniejszych narzędzi, np. classList do klas, ale w ujęciu atrybutowym metoda jest poprawna.
Czasem wygodniej jest użyć właściwości, np. input.value dla wartości pola lub img.src dla adresu obrazka. Jednak pytania testowe mogą celowo sprawdzać znajomość metod atrybutów. Klucz to rozpoznać, czy chodzi o atrybut HTML, czy o bieżący stan właściwości DOM.
Możesz użyć metody hasAttribute(), która zwraca informację, czy atrybut istnieje. Alternatywnie da się też odczytać wartość przez getAttribute() i sprawdzić wynik. To pomaga odróżnić brak atrybutu od ustawionej pustej wartości.
Typowe błędy to: użycie getAttribute() zamiast setAttribute(), mylenie atrybutów z innerHTML, ustawianie niepoprawnej nazwy atrybutu (literówka), albo pobranie złego elementu (np. nieistniejące id). Na egzaminie czytaj uważnie, czy mowa o "atrybucie" czy "zawartości".
Ćwicz krótkie scenariusze: pobierz element po id, zmień atrybut, zmień treść, dodaj klasę, obsłuż kliknięcie. Zrób mapę skojarzeń: atrybuty → getAttribute/setAttribute, treść → textContent/innerHTML, klasy → classList. To ułatwia szybki wybór odpowiedzi w teście.
info

Statystycznie 67% uczniów zna prawidłową odpowiedź. średnie

Specjaliści zwracają uwagę: "setAttribute służy do ustawiania (zmiany) wartości atrybutu wskazanego elementu DOM, np. zmiany src w &lt;img&gt; albo href w &lt;a&gt;."

Źródła:

  • MDN Web Docs: Element.setAttribute() — https://developer.mozilla.org/en-US/docs/Web/API/Element/setAttribute (dostęp: 2026-02-27)
  • MDN Web Docs: Element.getAttribute() — https://developer.mozilla.org/en-US/docs/Web/API/Element/getAttribute (dostęp: 2026-02-27)
  • MDN Web Docs: Element.innerHTML — https://developer.mozilla.org/en-US/docs/Web/API/Element/innerHTML (dostęp: 2026-02-27)

Materiały:

  • Dokumentacja MDN Web Docs dotycząca Element.setAttribute() i Element.getAttribute()
  • Ćwiczenia praktyczne: manipulacja DOM i atrybutami w małych projektach (np. galeria, menu, formularz)
  • Powtórka różnic: atrybuty HTML vs właściwości DOM (np. value, checked, innerHTML)

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego