Добавление данных в теги XHTML - PullRequest
5 голосов
/ 08 сентября 2010

Мой веб-сайт - XHTML 1.1, и я добавил атрибуты rel в теги <li> и <div> на своей странице, чтобы хранить данные для сценария jQuery на странице.При проверке моей страницы я получаю сообщение об ошибке: «нет атрибута rel».Итак, как лучше всего хранить произвольные данные в тегах HTML?

Я работаю над страницей комментариев для моего сайта.Когда вводится комментарий, он отправляется через AJAX, который возвращает JSON всех комментариев.Затем я смотрю на значения 'rel', чтобы увидеть, какие комментарии уже есть на странице, и только добавляю новые.

Код jQuery работает нормально, просто атрибуты rel не проверяются.

Ответы [ 4 ]

7 голосов
/ 08 сентября 2010

Хотя это не спецификация XHTML, вы можете использовать атрибуты data- *, включенные в спецификацию HTML5.

http://html5doctor.com/html5-custom-data-attributes/

Если вы хотите оставаться полностью совместимым с XHTML 1.1, вам нужно создать схему и включить ее пространство имен в элемент html, где схема определяет атрибуты, которые вы хотите использовать, и элементы, к которым они применяются .

Расширение XHTML

1 голос
/ 08 сентября 2010

Поскольку rel не является допустимым атрибутом для li, вместо него следует использовать id вместо атрибута, и он также действителен там.

0 голосов
/ 08 сентября 2010

JQuery, похоже, любит классы как способ хранения состояния для различных HTML-элементов.

В качестве примера можно привести, как вкладки пользовательского интерфейса jQuery используют класс ui-state-active, чтобы определить, какая вкладка выбрана в данный момент.

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

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

<li class="client_data already_added red_text etc">Bob</li>
0 голосов
/ 08 сентября 2010

Я думаю, что это противоречит духу XHTML - хранить «произвольные» данные в тегах.Вместо этого вы должны использовать метод jQuery.data .

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