2009-09-08 9 views

Odpowiedz

28

Według HTML 4.0 specification for basic types: id i nazwa żetonów

musi rozpoczynać się literze ([A-Za-Z]) i mogą być stosowane dowolna liczba liter, cyfr ([0 -9]), łączniki ("-"), podkreśla ("_"), dwukropkami (":") i kropkami (".").

Nawet jeśli spacje były prawidłowe, atrybut id z spacjami byłby interpretowany przez jQuery jako ancestor descendant selector z bieżącą składnią selektora.

9

Krótka odpowiedź brzmi: nie. Litery, cyfry, podkreślenia, łączniki, kropki i dwukropki.

(cera Karim mnie uprzedził.)

+1

Ahh, dwie minuty późno :) Mam swój głos! – Dima

3

To jest argument na zasadzie analogii.

Należy rozważyć wybór CLASS. To nie to samo, co ID, ale są pewne niejasności.

Oczywiście nie można mieć klasa nazwę z osadzonym przestrzeni, ponieważ lista klas

<p class='a b c'>some text</p> 

nie można odróżnić od jednej nazwy spacjami.

Ok, ty nie może mieć listę id nazw, tak, więc analogia rozpada się, ale myślę, że staliśmy się zbyt szybko, aby spróbować wstawić spacje, gdzie nie należą.

7

Chociaż jest to stare pytanie, pomyślałem, że podzielę się informacją na temat specyfikacji HTML 5 dla tych, którzy natknęli się na to pytanie, tak jak to zrobiłem kilka lat po zadaniu.

Według HTML 5 Spec:

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

mówi również:

Nie istnieją inne ograniczenia dotyczące tego, co tworzą ID może podjąć; w szczególności identyfikatory mogą składać się z samych cyfr, zaczynają się od cyfry, zaczynają się od znaku podkreślenia, składają się tylko z interpunkcji itd.

Powiązane problemy