HTML5 пользовательские атрибуты данных “Работают” в IE 6?

Пользовательские атрибуты данных: http://dev.w3.org/html5/spec/Overview.html#embedding-custom-non-visible-data

Когда я говорю “работу”, я имею в виду, если у меня есть HTML как это:

будет следующий JavaScript:

var geoff = document.getElementById('geoff');
alert(geoff.dataGeoff);

произведите, в IE 6, предупреждении с “geoff de geoff” в нем?

173
задан Paul D. Waite 24 February 2014 в 16:13
поделиться

2 ответа

Вы можете получить значения пользовательских (или ваших собственных) атрибутов с помощью getAttribute. Следуя вашему примеру с

<div id="geoff" data-geoff="geoff de geoff">

я могу получить значение data-geoff, используя

var geoff = document.getElementById("geoff");
alert(geoff.getAttribute("data-geoff"));

См. MSDN. И хотя там упоминается, что для того, чтобы это работало, вам нужен IE7, я тестировал это некоторое время назад с IE6, и это работало правильно (даже в режиме quirks).

Но это, конечно, не имеет никакого отношения к атрибутам, специфичным для HTML5.

153
ответ дан 23 November 2019 в 20:36
поделиться

Я думаю, что IE всегда поддерживал это (по крайней мере, начиная с IE4), и вы можете получить к ним доступ из JS. Они назывались 'expando properties'. См. старую статью MSDN

Это поведение можно отключить, установив свойство expando в false для элемента DOM (по умолчанию оно true, поэтому свойства expando свойства работают по умолчанию).

Edit: fixed the URL

7
ответ дан 23 November 2019 в 20:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: