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: Tworzenie stron WWW Systemy CMS i narzędzia webowe

Podczas walidacji strony walidator W3C zgłosił błąd Error: Duplicate ID menu. Co oznacza ten komunikat?

A. identyfikatory elementów należy zapisywać wielkimi literami
Źle. Wielkość liter w id jest dowolna, ważne jest tylko, by wartość była unikalna.
B. identyfikator menu może zawierać wyłącznie cyfry
Źle. Identyfikator może zawierać litery, cyfry, myślniki i podkreślenia, nie tylko cyfry.
C. element nie może mieć jednocześnie atrybutów id i class
Źle. Element może mieć jednocześnie atrybuty id i class.
D. wartość menu atrybutu id występuje w dokumencie więcej niż raz, a musi być unikalna
Dobrze. „Duplicate ID” oznacza, że ta sama wartość id występuje w dokumencie więcej niż raz.

Poprawna jest odpowiedź o powtórzonej wartości atrybutu id. Identyfikator ma wskazywać dokładnie jeden element strony, dlatego specyfikacja HTML wymaga, by każda wartość id występowała w dokumencie tylko raz. Komunikat „Duplicate ID menu” oznacza, że co najmniej dwa elementy mają id="menu".

Skutki są praktyczne: document.getElementById("menu") zwróci tylko pierwszy z nich, a odnośnik #menu przewinie stronę do pierwszego. Do zapamiętania: gdy ten sam wygląd ma dostać wiele elementów, używa się atrybutu class, który może się powtarzać, a w CSS odwołuje się do niego selektorem z kropką, np. .menu.

Walidator wskazuje też numer wiersza z powtórzeniem.

Każda z błędnych odpowiedzi wymyśla regułę, której HTML nie ma. Wartość id nie musi składać się z cyfr - w HTML5 może zawierać litery, cyfry, myślniki i podkreślenia, byle nie miała spacji. id="menu" jest więc poprawnym identyfikatorem, a w praktyce najlepiej, by zaczynał się od litery, bo wtedy łatwiej użyć go w selektorze CSS.

Element może bez problemu mieć jednocześnie id i class, np. <nav id="menu" class="gorne"> - to częsty i zalecany zapis. Wielkość liter w identyfikatorach jest dowolna, choć ma znaczenie: menu i Menu to dwa różne identyfikatory. Klucz do rozwiązania tkwi w słowie „duplicate”, czyli „zdublowany”: walidator informuje, że ten sam identyfikator pojawił się w dokumencie co najmniej dwa razy.

Naprawa jest prosta: zostawić id="menu" jednemu elementowi, a pozostałym nadać inne identyfikatory albo wspólną klasę.

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.