Могу ли я просто создать атрибуты для моих тегов HTML? - PullRequest
43 голосов
/ 09 января 2009

Могу ли я добавить любые атрибуты, которые я хочу, в теги HTML, чтобы впоследствии я мог получить их значение с помощью JavaScript? Например:

<a href="something.html" hastooltip="yes" tipcolour="yellow">...</a>

Если это не сработает, как вы будете хранить произвольные фрагменты информации, подобные этой?

Редактировать: Поскольку представляется, что составление атрибутов HTML технически недопустимо, я перефразировал вторую часть этого вопроса в отдельный вопрос: Как хранить произвольные данные для некоторые теги HTML

Ответы [ 4 ]

46 голосов
/ 10 января 2009

В HTML5 да. Вы просто должны поставить перед ними префикс data-. См. спецификацию .

Конечно, это подразумевает, что вы должны использовать тип документа HTML5 (<!doctype html>), даже если браузерам все равно.

24 голосов
/ 09 января 2009

Ну, вы всегда можете создать свой собственный DTD, чтобы получить новые действительные атрибуты для ваших тегов. Браузер не будет зависать, вы должны проверить свой JavaScript, если вы можете получить доступ к этим пользовательским атрибутам. Или вы можете использовать существующие средства, предоставляемые HTML и CSS. Вы можете использовать несколько классов, таких как

<a href="..." class="class-one class-two has-tooltip">

Для выбора цвета я настоятельно не рекомендую вам использовать жестко закодированные названия цветов в вашем HTML, у вас есть CSS для объявления стилей. Используйте атрибут класса в качестве ловушки для объявления CSS и выберите семантические имена классов, например

HTML:

<a href="..." class="has-tooltip common-tooltip">
<a href="..." class="has-tooltip long-tooltip">

CSS:

a.has-tooltip {
   colour: red;
}
a.common-tooltip {
   background: #ddd;
}
a.long-tooltip {
   background: #ebf;
}

И в своем коде JavaScript вы можете генерировать элементы с такими классами, как «long-tooltip» и «common-tooltip» вместо «yellow-tooltip», так что вы не будете противоречить себе в случае изменения дизайна страницы, чтобы иметь зеленый цвет всплывающие подсказки.

4 голосов
/ 09 января 2009

Можно. Страница не пройдет проверку, однако большинство браузеров ее примут.

Это почти наверняка неправильный способ сделать это. Попробуйте использовать class = "hasTooltip_yes tipcolour_yellow"

2 голосов
/ 09 января 2009

В зависимости от информации, которую вы хотите сохранить, вам следует взглянуть на некоторые другие доступные атрибуты. Они не выглядят хорошими кандидатами, но «rel» использовался для многих интересных вещей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...