Есть ли проблема с использованием атрибутов HTML5 data-* для старых браузеров?

Я хочу связать некоторые пользовательские данные с некоторыми узлами HTML. Я собирался использовать атрибуты data-* в новом стиле HTML5. например: <tr class="foo" data-typeid="7">…, а затем я собирался выбрать этот HTML-узел и показать/скрыть его и т. д., прочитав значение с помощью $(node).attr("data-typeid").

Однако эта веб-страница должна работать и со старыми браузерами. Я не использую атрибут data-* в качестве специального атрибута, но я хотел бы знать, будут ли старые браузеры игнорировать, стирать или делать недоступным этот атрибут, поскольку он недействителен в HTML4.


person Rory    schedule 18.10.2010    source источник
comment
возможный дубликат "Работают" ли пользовательские атрибуты данных HTML5 в IE 6 ?   -  person James Lawruk    schedule 17.09.2013


Ответы (2)


На самом деле нет, они не являются на 100 % правильным/допустимым использованием в HTML4, конечно...но они также не вызывают проблем, так что они по-прежнему являются отличным способом решения проблема «Мне нужен атрибут для этого».

Если это поможет, я использовал их при поддержке IE6 и до сих пор не имел проблем, и я не могу вспомнить ни одного вопроса SO, сообщающего о них.

person Nick Craver    schedule 18.10.2010
comment
HTML5 был разработан, чтобы работать, насколько это возможно, с существующим поведением браузера. Атрибуты данных — одно из приятных мест, таких как тип документа HTML5, где это, кажется, происходит без особых заминок. - person Paul D. Waite; 18.10.2010
comment
Кажется, что вы не можете использовать типы данных с jquery, используя тип документа XHTML 1.0 Transitional с IE 8 и ниже. - person codeadventurer; 29.05.2013

Internet Explorer и Microsoft добавили несколько настраиваемых атрибутов, которые не являются допустимыми HTML4. Браузеры не проверяют атрибуты элемента на соответствие спецификации, вы можете назвать атрибут roryscoolinfo="hello", если хотите (хотя не должны).

Dojo Toolkit добавляет свои пользовательские атрибуты dojo*.

Сегодня можно использовать data- с типом документа HTML5.

person Jacob Rask    schedule 18.10.2010