Kod składa się z dwóch kroków:
- Wyszukanie elementu: document.querySelector('.myClass') przyjmuje selektor CSS i zwraca pierwszy pasujący element (pierwsze dopasowanie podczas przeszukiwania dokumentu). Nie zwraca kolekcji.
- Modyfikacja klas: element.classList.add('newClass') dodaje wskazaną klasę do atrybutu class tego elementu. Jest to operacja "dopisz", czyli nie usuwa istniejących klas.
Dlatego poprawny opis działania brzmi: dodanie klasy newClass do pierwszego elementu posiadającego klasę myClass.
Dlaczego pozostałe odpowiedzi są błędne?
- "Do wszystkich elementów" – to byłoby prawdziwe przy użyciu document.querySelectorAll('.myClass') i iteracji po wynikach. Tu użyto querySelector, który zwraca tylko jeden element.
- "Zmienia nazwę klasy myClass na newClass" – zmiana/"podmiana" wymagałaby usunięcia starej klasy i dodania nowej (np. classList.remove('myClass') + add) albo użycia classList.replace('myClass','newClass'). W podanym kodzie jest wyłącznie add.
- "Usuwa myClass i dodaje newClass" – to opis dwóch operacji. W kodzie nie ma żadnego remove, więc klasa myClass pozostaje, a newClass jest tylko dopisana.
Wskazówka egzaminacyjna: zawsze rozróżniaj metody zwracające jeden element (querySelector) od tych zwracających listę (querySelectorAll), oraz operacje na klasach: add (dopisz), remove (usuń), toggle (przełącz), replace (zamień).