Незарегистрированные значения атрибута rel в теге привязки - PullRequest
3 голосов
/ 15 января 2012

Я использовал значения rel в jQuery для параметризованных (#! Hashbang) AJAX-вызовов.

<a id='_qualifier' rel='telephony' href='contact.php'>contact</a>

и с jQuery:

var hashbang = "#!"+$("#_qualifier").attr('rel'); //gives desired result=>"#!telephony"

Но когда я проверил страницу на validator.w3.org, она выдала мне ошибку:

Неверное значение #telephony для атрибута, относящегося к элементу a: Ключевое слово #telephony не зарегистрировано.

Я искал и в соответствии со спецификациями HTML5 здесь и здесь , атрибут rel должен иметь зарегистрированные / предопределенные значения.

  1. Существует ли способ использования пользовательских значений rel в HTML5 без проверки?
  2. Это также недопустимо для типов документов HTML4?

Ответы [ 3 ]

7 голосов
/ 15 января 2012

Вы можете использовать пользовательские атрибуты:

<a href="#" data-something="telephony">...</a>

Он совместим с HTML5, но не с HTML4 или xHTML. Вы получите доступ к атрибуту так же, как и с jQuery.

Вы можете найти больше информации о справке HTML5 .

2 голосов
/ 15 января 2012

Существует ли обходной путь для использования пользовательских значений rel в HTML5, без проверки правильности?

Страница микроформатов - это вики. Если вы удовлетворены тем, что используете rel правильно и что другое соответствующее значение rel уже зарегистрировано, вы можете добавить свое собственное значение в качестве значения Proposed . Инструкции для этого можно найти здесь: http://dev.w3.org/html5/spec/links.html#other-link-types

Согласно спецификации HTML5 это сделает ваше значение rel действительным. Конечно, может пройти некоторое время, прежде чем автоматизированные валидаторы справятся с этим, но это всего лишь технический вопрос.

Это также недопустимо для типов документов HTML4?

Нет, это не так.

0 голосов
/ 15 января 2012

Вы можете использовать любой другой атрибут тэга, например, для. 'title'

...