Не- (X) HTML-атрибуты ... есть ли недостатки? - PullRequest
6 голосов
/ 22 апреля 2009

Я обычно пытался придерживаться атрибутов только DOM при написании Javascript. Теперь, когда я перешел с Prototype на jQuery, я могу получить некоторые серьезные преимущества, добавив свои собственные атрибуты к различным элементам DOM, в основном в том, что касается возможности установить очень читабельное соглашение о кодировании для обработки запросов AJAX. *

В качестве короткого примера, это означает, что я делаю что-то вроде

<div type="book" app_id="13">
    <a href="#" action="delete">delete</a>
</div>

И затем я могу настроить код для поиска всех тегов <a> с атрибутом action, поиска родительского элемента с type и app_id, а затем выполнять операции CRUD ... все без необходимости написать дополнительный код.

Существуют ли какие-либо подводные камни (за исключением случаев, когда речь идет не только о жалобах XHTML), на которые я должен обратить внимание, и / или какие-либо полезные привычки, на которые мне следует обратить внимание? Как насчет стандартного способа настройки моего собственного пространства имен атрибутов?

Ответы [ 4 ]

6 голосов
/ 23 апреля 2009

Согласно этот вопрос , использование пространств имен XML в XHTML 1.0 недопустимо. Добавление ваших собственных атрибутов в одно и то же пространство имен кажется мне хуже, так как они наверняка недействительны, даже если речь идет о XML.

Если бы я делал это, я бы получил свой пробег из атрибутов class и rel. Например:

<div class="book" id="book_13">
   <a href="http://example.com/url/to/delete/non/ajaxily" class="delete">delete</a>
</div>
4 голосов
/ 23 апреля 2009

Могу ли я хранить пользовательские атрибуты в HTML DOM как запись базы данных?

Новые атрибуты данных HTML 5 могут быть тем, что вы ищете.

http://ejohn.org/blog/html-5-data-attributes/

http://dev.w3.org/html5/spec/Overview.html#custom

Я знаю, что это не "XHTML", но, по крайней мере, это часть какого-то стандарта;)

0 голосов
/ 23 апреля 2009

Я не вижу ничего плохого в добавлении недопустимых атрибутов, если только кто-то не использует какой-то неизвестный браузер, который является очень строгим и дает сбой во всем, что не является стандартным. Это может произойти, я полагаю ... но это сомнительно ...

Одной из хороших альтернатив является использование плагина метаданных jQuery для хранения легко доступных пар ключ-значение внутри атрибута.

0 голосов
/ 23 апреля 2009

Я не вижу ничего плохого в этом подходе. На самом деле я видел много примеров этого, и я сам использовал этот подход во многих приложениях и не сталкивался с какими-либо препятствиями, кроме этой проблемы проверки. Поэтому я думаю, что вы можете идти =)

...