2016-04-26 3 views
1

Имея проблему с document.getElementById в IE 11 для извлечения div, у которого длинный url как id.getElementById: Проблемы IE

Пример:

<div id="http://localhost:8084/group/control_panel/manage?p_auth=2kVqRblu&p_p_id=swcportaluploadData_WAR_swcportaluploadDataportlet&p_p_lifecycle=1&p_p_state=maximized&p_p_mode=view&doAsGroupId=20182&refererPlid=20185&controlPanelCategory=current_site.content&_swcportaluploadData_WAR_swcportaluploadDataportlet_javax.portlet.action=loadCsvData&_swcportaluploadData_WAR_swcportaluploadDataportlet_fileName=CIS_Contact.xlsx"></div> 

Я получаю нуль, но идентификатор уникален. Работает как ожидается в Google Chrome.

Где ошибка? Специальные символы?

PS: Он отлично работает для простого ID: <div id="hello">

+0

Как вы увидите в этом другом вопросе, HTML4 не разрешает косые черты в ID. Вероятно, IE11 по-прежнему применяет это ограничение для идентификаторов. –

+0

Вы считали, что используете «нормальные» идентификаторы и помещаете URL-адреса в атрибуты 'data-'? –

+0

@PaulAbbott является атрибутом 'data' для тега' div'? –

ответ

1

HTML4 не позволяет полоснул, как указано в этом определении:

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

IE по-прежнему применяет этот стандарт.

Если вы хотите использовать URL-адрес, скорее сохраните URL-адрес в атрибуте data-url.

Смежные вопросы