Пользовательские атрибуты данных: 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
поделиться
Вы можете получить значения пользовательских (или ваших собственных) атрибутов с помощью 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.
Я думаю, что IE всегда поддерживал это (по крайней мере, начиная с IE4), и вы можете получить к ним доступ из JS. Они назывались 'expando properties'. См. старую статью MSDN
Это поведение можно отключить, установив свойство expando в false для элемента DOM (по умолчанию оно true, поэтому свойства expando свойства работают по умолчанию).
Edit: fixed the URL