Есть ли проблемы с использованием атрибутов HTML5 "data- *" для старых браузеров?
Я хочу связать некоторые пользовательские данные с некоторыми узлами HTML. Я собирался использовать новые атрибуты 'data- *' стиля HTML5. например, <tr class="foo" data-typeid="7">…
, а затем я собирался выбрать этот HTML node и показать/скрыть его и т.д., прочитав значение с помощью $(node).attr("data-typeid")
.
Однако эта веб-страница также должна работать со старыми браузерами. Я не использую атрибут data- * как специальный атрибут, но я хотел бы знать, будут ли старые браузеры игнорировать, уничтожать или сделать недоступным этот атрибут, поскольку он недействителен HTML4.
Ответы
Ответ 1
На самом деле это не так, они, конечно, не на 100% правильное/допустимое использование в HTML4.... но они также не вызывают проблем, поэтому они по-прежнему являются отличным способом решения проблемы "Мне нужно атрибут для этой" проблемы".
Если это помогает, я использовал их, поддерживая IE6 и до сих пор имел нулевые проблемы, и я не могу вспомнить ни одного вопроса о SO, сообщающего об этом.
Ответ 2
Internet Explorer и Microsoft добавили несколько настраиваемых атрибутов, которые не соответствуют HTML4. Браузеры не проверяют атрибуты элемента по спецификации, вы можете назвать атрибут roryscoolinfo="hello"
, если хотите (хотя не следует).
Инструмент Dojo добавляет свои пользовательские атрибуты dojo*
.
Хорошо использовать data-
сегодня, с типом HTML5.