Есть ли общий атрибут для всех элементов HTML, кроме идентификатора и класса?
-
07-07-2019 - |
Вопрос
Как тег, который я могу использовать для хранения необходимой информации? Но на самом деле HTML-код не требуется или не используется? Работает как атрибут тега для объектов в Visual Basic?
Решение
До HTML5 нет. В HTML 5 это предусмотрено атрибутом data - *
.
Например: -
<div id="myStuff" data-mydata="here is my data">
В современных технологиях нет «официального» прочь, чтобы сделать это. Однако все браузеры позволяют добавлять любой произвольный атрибут к элементу HTML, поэтому в HTML4 вы можете сделать это: -
var mydata = document.getElementById("myStuff").getAttribute("data-mydata");
Что, как вы можете видеть, идентично, но не содержит официального указания, и если вы хотите строгое соответствие XHMTL, это будет считаться "нарушенным".
Вы можете получить доступ к атрибуту так же, как и к любому другому: -
<*>Другие советы
Возможно, вы могли бы использовать html5 атрибуты data- * ? Он не пройдет валидацию на html4, но все же, вероятно, это лучший вариант ...
Если вы храните данные для использования в javascript, вы также можете использовать что-то вроде плагина метаданных jQuery. По сути, вы можете хранить данные в классе элемента = " " атрибут, например, так:
<div id="aaa" class="class1 class2 class3 { type: 'food', color: 'green' }"></div>
Тогда в JavaScript:
alert($('#aaa').metadata().color) // "green"
Другие наборы используют атрибуты title или rel для хранения данных. Хотя это более удобно для проверки, это может быть лучше, чем использование ответа AnthonyWJones о применении нестандартных атрибутов. Это "сломается" проверка, но опять же в соответствии с Dojo настраиваемые атрибуты являются абсолютно корректным HTML, даже если они не проверяются на соответствие DTD.
Так что нет - не существует единственного хорошо принятого конкретного атрибута, в который можно вывести все данные. Все существующие атрибуты предназначены для конкретного использования. Но вы можете либо: 1) создать свои собственные атрибуты, либо 2) использовать существующий тег для повторного использования в ваших целях. Просто хотел указать на альтернативу.
Посмотрите на www.htmlref.com или W3C используемые атрибуты.
Кроме тех, которые вы можете просто добавить свои, они будут отображаться и будут доступны через код, например, в C # вы можете получить доступ к коллекции атрибутов элементов управления.
Control.Attributes [" MyCustomAttribute "] = " Hello World " ;;
там rel
и атрибуты rev
, которые работают в элементах с атрибутом href
. они имеют семантическое значение, но часто используются как атрибут для хранения дополнительной информации