2010-11-22 3 views
5

私はrelを使ってHTML以外の情報を保存していましたが、一般的に使用されていない情報を保存するために使用できる属性は何ですか?その他の情報HTML要素の属性

+1

これは危険です。 Rel属性は実際にはかなり使われています。つまり、Googleのボットが他のものを使用しています。 定義済みのHTML属性を独自の目的で使用することはお勧めしません。 –

+0

@Chris:これらのものはすべてJavaScriptのチャンクによって生成され、誰も読んではいけません。 –

+0

正確にポイント! –

答えて

5

HTML5に切り替えてcustom data attributesを使用します。

+0

HTML5がこれで出てくる前は、実際の属性がアンダースコアで始まる可能性はほとんどないという仮定のもと、_somethingをカスタムデータの属性名として使用してきました。これは「受け入れられる」という前提か、それとも私はすべてをデータに切り替える方が良いでしょうか? –

+0

'data- *'の使用をお勧めします。なぜなら、それは有効なHTMLを取引に入れているからです。 –

+0

私はこれを使用します、ありがとう。私はjQueryの 'attr'関数を使っているので、ネイティブなJSの実装は必要ありません。 –

3

あなたが欲しいものは何でも格納するために、独自のdata-の属性を定義することができます。

3

必要に応じて独自の属性を設定できます。仕様によって何か意味のあるものがあれば、データを属性に入れるのは良い考えではないでしょう。

2

HTML 5 specには、data-*属性を使用できます。彼らはブラウザで何もしないことが保証され、古いブラウザでも動作します。 JavaScriptで

、あなたは、通常の属性プロパティでそれにアクセスすることができます:あなたはelem.datasetを使用することができる新しいブラウザで

var value = elem.getAttribute("data-foo") 
elem.setAttribute("data-foo", "value") 
elem.removeAttribute("data-foo") 

が、あなたはおそらく行うにはしたくない古いブラウザがそれをサポートしていますように、その。

var value = elem.dataset.foo; 
elem.dataset.foo = "value"; 
elem.dataset.foo = null; 
1

HTML5は今supportsデータ - *属性に情報を格納するが、HTML5のthatsと誰もがまだありません。実際の世界のシナリオ...

ポストバック間の永続化について心配する必要がない場合は、単純なデータオブジェクトをJSONコレクションvarとしてマップし、特定のキーに基づいてオブジェクトを取り出すことができます。しかし、それは広範なアプローチです。全体的な目標についてのより多くの情報はフィードバックを改善するでしょう。

1

あなたが保存しようとしている情報の種類とそのアクセス方法はどういうものかによって異なります。 idclassの両方の属性を使用してデータベースIDを格納してアクセスしたり、一部のデータベーステーブルの参照を使用したりして、jQueryでいくつかのAJAX要求を取得しました。

HTML5を使用していない場合は、独自のカスタム属性を使用することをおすすめします。そうでなければ、私の前にすでに提案されている人々のように、接頭辞付きの属性であるdata-を見てください。

0

data- *はHTML5を使用することができますか? elem.dataで簡単にjavascriptでそれらにアクセスすることもできます。*

それ以外の場合、カスタム属性はおそらくページのセマンティクスよりも優れています。

関連する問題