Номера как ID на веб-страницах не работают! - PullRequest
0 голосов
/ 15 мая 2011

Мне просто интересно, почему мое событие jquery не будет вызвано в FireFox, когда я использую числовые значения в моих тегах ID

Как ($"#2").live .....

и <div id='2' .....

Я заметил, что события не запускаются таким образом и только в FireFox.Любое объяснение приветствуется.

Ответы [ 4 ]

4 голосов
/ 15 мая 2011

Маркеры ID и NAME должны начинаться с буквы ([A-Za-z]) и могут сопровождаться любым количеством букв, цифр ([0-9]), дефисов ("-"), подчеркиваний (" _ "), двоеточия (": ") и точки (". "). Образец цитирования: ссылка html 4 на W3 .

То есть ваш id недействителен, так как начинается с цифры.

Под HTML 5 , однако для id требуется только:

Атрибут id указывает уникальный идентификатор (ID) своего элемента. Значение должно быть уникальным среди всех идентификаторов в домашнем поддереве элемента и должно содержать хотя бы один символ. Значение не должно содержать пробелов.

2 голосов
/ 15 мая 2011

Недопустимо HTML4 иметь идентификаторы, которые начинаются с цифры.

Вы должны начать их с буквы.

Числовые идентификаторы разрешены в HTML5, хотя.

0 голосов
/ 16 мая 2011

Это действительно зависит от того, что делает ($"#2"). Например, если он передает #2 на вызов querySelector, произойдет сбой, потому что это недопустимый селектор CSS.

Я подозреваю, что вы используете какую-то библиотеку, которая делает что-то подобное; он может работать в других браузерах из-за ошибок в их синтаксических анализаторах CSS или из-за того, что библиотека выполняет анализ браузера и не выполняет тот же код в других браузерах.

0 голосов
/ 15 мая 2011

Значения идентификатора для элементов html должны начинаться с буквы ([A-Za-z]) и могут сопровождаться любым количеством букв, цифр ([0-9]), дефисов ("-"), подчеркиваний ( "_"), двоеточия (":") и точки (".").

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...