Пользовательские атрибуты - да или нет? - PullRequest
252 голосов
/ 14 июня 2009

В последнее время я все больше и больше читаю о людях, использующих пользовательские атрибуты в своих тегах HTML, в основном с целью встраивания некоторых дополнительных битов данных для использования в коде JavaScript.

Я надеялся собрать отзывы о том, является ли использование пользовательских атрибутов хорошей практикой, а также о том, какие есть альтернативы.

Кажется, что он действительно может упростить и код со стороны сервера и со стороны клиента, но он также не совместим с W3C.

Должны ли мы использовать пользовательские атрибуты HTML в наших веб-приложениях? Почему или почему нет?

Для тех, кто считает настраиваемые атрибуты полезными вещами: что нужно помнить при их использовании?

Для тех, кто считает настраиваемые атрибуты плохой вещью: какие альтернативы вы используете для достижения чего-то подобного?

Обновление: Меня больше всего интересует обоснование , стоящее за различными методами, а также вопросы о том, почему один метод лучше другого. Я думаю, что мы все можем придумать 4-5 различных способов сделать то же самое. (скрытые элементы, встроенные скрипты, дополнительные классы, парсинг информации из идентификаторов и т. д.).

Обновление 2: Похоже, что атрибут HTML 5 data- имеет большую поддержку здесь (и я склонен согласиться, это выглядит как надежный вариант). До сих пор я не видел много опровержений для этого предложения. Есть ли какие-либо проблемы / подводные камни, чтобы беспокоиться об использовании этого подхода? Или это просто «безвредная» аннулирование текущих спецификаций W3C?

Ответы [ 14 ]

0 голосов
/ 26 сентября 2015

Я все время использую настраиваемые поля, например

0 голосов
/ 15 июня 2009

Для сложных веб-приложений я опускаю настраиваемые атрибуты повсюду.

Для более общедоступных страниц я использую атрибут "rel" и выгружаю все свои данные туда в JSON, а затем декодирую их с помощью MooTools или jQuery:

<a rel="{color:red, awesome:true, food: tacos}">blah</a>

В последнее время я пытаюсь придерживаться атрибута данных HTML 5 только для того, чтобы «подготовиться», но он еще не пришел естественным образом.

0 голосов
/ 14 июня 2009

Спецификация: Создание элемента управления ASP.NET TextBox, который динамически автоматически форматирует свой текст в виде числа в соответствии со свойствами "DecimalSeparator" и "ThousandsSeparator", используя JavaScript.


Один из способов перенести эти свойства из элемента управления в JavaScript - это заставить элемент управления отображать пользовательские свойства:

<input type="text" id="" decimalseparator="." thousandsseparator="," />

Пользовательские свойства легко доступны с помощью JavaScript. И хотя страница, использующая элементы с пользовательскими свойствами, не будет проверять , визуализация этой страницы не будет затронута.


Я только использую этот подход, когда хочу связать простые типы, такие как строки и целые числа, с элементами HTML для использования с JavaScript. Если я хочу упростить идентификацию HTML-элементов, я буду использовать свойства class и id .

0 голосов
/ 14 июня 2009

Пользовательские атрибуты, по моему скромному мнению, не должны использоваться, поскольку они не проверяются. В качестве альтернативы этому вы можете определить множество классов для одного элемента, например:

<div class='class1 class2 class3'>
    Lorem ipsum
</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...