锚标记中rel属性的未注册值

时间:2012-01-15 01:39:48

标签: html html5 anchor rel hashbang

我在jQuery中使用了rel值来进行参数化(#!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上的页面时,它给了我错误:

  

关于元素a的属性rel的错误值#tephphony:关键字#telephony未注册。

我在周围搜索并根据HTML5规范herehere,rel属性应该具有已注册/预定义的值。

  1. 是否有解决方法在HTML5中使用rel的自定义值,而不会使验证失败?
  2. HTML4 doctypes也无效吗?

3 个答案:

答案 0 :(得分:7)

您可以使用自定义属性:

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

符合HTML5标准,但不符合HTML4或xHTML。 您将像使用jQuery一样访问该属性。

您可以在the HTML5 reference找到更多信息。

答案 1 :(得分:2)

  

是否有办法在HTML5中使用rel的自定义值,而不会使验证失败?

微格式页面是一个Wiki。如果您对正确使用rel并且已经注册了其他适当的rel值感到满意,则可以将自己的值添加为建议的值。有关这样做的说明,请访问:http://dev.w3.org/html5/spec/links.html#other-link-types

根据HTML5规范,这将使您的rel值有效。当然,自动验证器可能需要一些时间才能解决这个问题,但这只是一个技术问题。

  

HTML4 doctypes也无效吗?

不,不是。

答案 2 :(得分:-2)

您可以使用'a'标签的任何其他属性,例如。 'title'