2013-05-31 6 views
5

Niedawno odbyła się debata na pytanie here, gdzie użytkownik w odpowiedzi powiedział, że ID zaczyna się od liczby jest dopuszczalne w HTML5, więc czy to prawda? Nie widzę żadnej odpowiedniej dokumentacji na ten temat, również podał mi link do this tutaj, ale wydaje się, że odpowiedni link już nie istnieje.Czy można rozpocząć identyfikację za pomocą numeru w HTML5? Czy inne technologie obsługują te identyfikatory, jeśli używamy dokumentu w formacie HTML5?

Pytanie brzmi, czy HTML5 zezwala na ids na rozpoczęcie od numeru?

Teraz na pewno to się nie powiedzie w CSS -

<div id="5hello">Fails Completely</div> 

#5hello { 
    color: red; 
} 

Aktualizacja: Nie jestem nawet pewien, że HTML5 pozwala id's zacząć od numeru lub nie, to po prostu, że deklarując id na zasadzie element nie jest wystarczający, ponieważ sam HTML nie jest tutaj problemem, ale użycie <!DOCTYPE html> umożliwia innym technologiom, takim jak CSS i JavaScript, pracę z identyfikatorem zaczynającym się od nie. Jestem pewny, że CSS nie działa, nie testowałem z JavaScriptem, ale jestem pewny, że również się nie uda.

Odpowiedz

4

Zgodnie z tym guy odpowiedź brzmi TAK.

HTML5 pozbywa się dodatkowych ograniczeń dotyczących atrybutu id. Jedyne wymagania, jakie pozostały - oprócz unikalności w dokumencie - to: , że wartość musi zawierać co najmniej jeden znak (nie może być pusty), i że nie może zawierać żadnych znaków spacji.

Należy przestrzegać dokumenty W3C dotyczące tej kwestii: link

3.2.3.1 id atrybut

atrybut id określa unikalny identyfikator swojego elementu (ID). [DOMCORE]

Wartość musi być unikalna spośród wszystkich identyfikatorów w poddrzewie elementu elementu i musi zawierać co najmniej jeden znak. Wartość nie może zawierać znaków spacji.

unikalny identyfikator elementu może być wykorzystywane do różnych celów, przede wszystkim jako sposób odwołują się do poszczególnych części dokumentu przy użyciu identyfikatory fragment jako sposób kierować element gdy skryptowy, i jako sposób na styl konkretnego elementu z CSS.

Identyfikatory są nieprzezroczystymi ciągami. Szczególne znaczenia nie powinny być pochodzące od wartości atrybutu id.

Edytuj 1: Bardzo podoba mi się ten komentarz, więc jeśli autor nie ma nic przeciwko, dodam go do mojej odpowiedzi.
"CSS zawiedzie" - nie, po prostu musisz zrobić to dobrze: link

+0

Tak, udostępniłem ten link w odpowiedzi udzielonej przez użytkownika na inne pytanie, a ja chcę udokumentowanej odpowiedzi, a nie tylko jakiś facet mówi .. –

+0

@Mr.Alien Sprawdź moją edycję –

+3

Nie ma znaczenia, czy HTML5 się go pozbywa, to całkiem normalne wśród programistów, aby nie uruchamiać metod, funkcji czy czegokolwiek z liczbami - więc po co zmieniać język znaczników? Trzymaj się tego, co już robisz :) – Jimbo

Powiązane problemy