JQuery селектор для необычного идентификатора тега - PullRequest
1 голос
/ 15 июля 2011

У меня есть этот идентификатор тега, довольно редко:

<select name="/State" id="/State">

Кажется, я не могу использовать селектор jQuery $('#/State') для выбора этого объекта.

Я могу выбрать его, используя $("#\U002FState"), но не могу напечатать атрибут id:

javascript:alert($("#\U002FState").attr('id'))

Что я могу сделать, чтобы правильно выбрать этот объект?

Ответы [ 3 ]

1 голос
/ 15 июля 2011

добавить \\ до / $('#\\/State')

Дополнительные ссылки:

jQuery селекторы: http://api.jquery.com/category/selectors/

W3C рекомендация:http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier

0 голосов
/ 15 июля 2011

как объяснено здесь / - недопустимый символ в идентификаторах, поэтому ваши теги не соответствуют стандартам, и эту проблему лучше решить, чем обходить.

0 голосов
/ 15 июля 2011

Если только вы не поддерживаете HTML5 браузеры, у вас будут проблемы при выборе по идентификатору, поскольку / в идентификаторе недопустимо в HTML4.

http://www.w3.org/TR/html401/types.html#type-name

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

Вы можете использовать attribute-equals-selector [документы] , но производительность будет ухудшаться:

$('select[id="/State"]');

Хотя было бы полезно включить element-selector [документы] , как я делал выше.

Вот рабочий пример: http://jsfiddle.net/LVEjS/

...