2012-01-15 8 views
3

パラメータ化された(#!hashbang)AJAX呼び出しにjQueryの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> 

それはHTML4やXHTML HTML5準拠ではなく。 jQueryと同じように属性にアクセスします。

詳細はthe HTML5 referenceで確認できます。

+0

答えをありがとう。これはまさに私が必要としているもので、rel属性を使って何をやっていたのですか? JavaScript/jQueryはHTML5に準拠していないブラウザでもこの属性の値にアクセスできます。したがって、それは私の目的を果たしています。ありがとう! –

2

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

マイクロフォーマットページはWikiです。 relが正しく使用されており、すでに登録されている他の適切な値がないことがわかった場合は、という提案値という値を追加できます。これを行う手順は次のとおりです。http://dev.w3.org/html5/spec/links.html#other-link-types

HTML5仕様によると、これにより有効な値が有効になります。もちろん、自動バリデーターがこれに追いつくまでには時間がかかるかもしれませんが、それは単なる技術的問題です。

Is it also invalid for HTML4 doctypes?

いいえ、そうではありません。

+0

説明をありがとう。私は、同じドメイン内(または私の場合)の現在のページとターゲットページとの間の関係の正しい値を特定することは簡単なことだと思います。私は@ ldiqualの提案に行くだろう。ありがとうございました! –

-2

たとえば、 'a'タグの他の属性を使用できます。 'タイトル'

+2

属性には独自の意味と効果があります。例えば、 'title'属性値は通常マウスオーバー時のツールチップとして現れます。 –

関連する問題