2012-01-15 60 views
3

我在jQuery中爲參數化(#!hashbang)AJAX調用使用了rel值。錨標記中rel屬性的未註冊值

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

和使用jQuery:

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

但是,當我確認上validator.w3.org的頁面,它給了我錯誤:

Bad value #telephony for attribute rel on element a: Keyword #telephony is not registered.

我周圍中搜索,並根據HTML5規範herehere,rel屬性應該具有已註冊/預定義的值。

  1. 是否有解決方法在HTML5中使用rel的自定義值而不失敗驗證?
  2. 它對HTML4文檔類型也無效嗎?

回答

7

您可以使用自定義屬性:

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

它是兼容HTML5,但不是HTML4和XHTML。 您將像訪問jQuery一樣訪問屬性。

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

+0

感謝您的回答。這正是我需要的,以及我正在做的rel屬性。即使在不符合HTML5的瀏覽器中,JavaScript/jQuery也可以訪問該屬性的值。因此它實現了我的目的。謝謝! – 2012-01-15 02:51:22

2

Is there a work around to use custom values for rel in HTML5, without failing the validation?

微格式頁面是Wiki。如果您確信您正確使用rel並且沒有其他適當的rel值已經註冊,您可以將您自己的值添加爲建議的值。這樣做的說明可以在這裏找到:http://dev.w3.org/html5/spec/links.html#other-link-types

根據HTML5規範,這將使您的相對值有效。當然,自動化驗證器可能需要一段時間才能趕上這一點,但這只是一個技術問題。不是,它不是。

+0

感謝您的澄清。我猜想在同一個域名(或者在我的情況下)中,爲當前頁面和目標頁面之間的關係確定正確的值會是一個延伸。我會和@ ldiqual的建議一起去。謝謝! – 2012-01-15 02:48:14

-2

對於例如,您可以使用'a'標籤的任何其他屬性。 'title'

+2

屬性有其自己的含義和效果;例如,'title'屬性值通常顯示爲鼠標懸停時的工具提示。 – 2012-01-15 06:58:28