Какие есть веские причины не использовать атрибуты пользовательских тегов, такие как - PullRequest
2 голосов
/ 28 февраля 2011

Я делаю это, главным образом, для хранения данных внутри тегов, когда выводю их из php, а затем использую jQuery для $ (..). Attr ('my_att'), чтобы получить их.

Этодо сих пор не вызывало никаких проблем, но есть ли веские причины (кроме того, что они недействительны), почему мы не должны этого делать?

Ответы [ 3 ]

3 голосов
/ 28 февраля 2011

Я предпочитаю делать такие вещи, как атрибуты данных HTML5 .

Затем вы можете использовать jQuery.data() для доступа к атрибутам, если вы находитесь в браузере, который не поддерживает атрибуты данных изначально.

Например:

<a href="#" id="MyLink" data-address="1600 Pennsylvania Ave, Washington, DC">
  My Address
</a>

Тогда я могу сделать $('#MyLink').data('address'), чтобы вернуть значение.

3 голосов
/ 28 февраля 2011

Поскольку вместо этого вы можете использовать допустимые пользовательские атрибуты:

<div data-customer-id="3" class="customer"> [...] </div>

Если вы добавите к своим атрибутам data-, они будут действительным HTML. Причина не просто написания ваших собственных атрибутов заключается в том, что они могут наследовать смысл в будущем. Очевидно, что в некоторых случаях это маловероятно (например, «customer-name»), но использование префикса - safter.

Еще одним дополнительным преимуществом является то, что вы очень четко понимаете свои намерения; другой разработчик не собирается приходить и думать, что вы хотели написать kind="text" вместо type="text", когда пытались пометить модель, связанную с конкретным полем ввода.

0 голосов
/ 28 февраля 2011

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

1 ° Если браузер действительно строг в отношении стандарта HTML, он может просто отказать в показе страницы, которая не соответствует DTD или еще хуже, при попытке отобразить вашу страницу.

2 ° Браузер может удалить неизвестный атрибут из элемента.

Конечно, на самом деле ни один браузер не делает ни одной из этих вещей, но кто может сказать, что будут делать новые реализации в будущем?

Стандарты разрабатываются по определенной причине, и всегда полезно следовать им. Особенно, когда HTML5 позволяет так легко создавать пользовательские атрибуты.

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