1

lang、dir、id、class などの属性を使用して、これらのオブジェクトを参照する一部の JavaScript 関数の有用なデータを格納することを好みます。これは、アクションまたは変更のたびに更新する必要がある可能性がある配列を使用しないようにするためです。問題は、これは悪い習慣であり、必要な属性を常に使用できるとは限らないことです。これらの属性は既に使用されているか、一部のタグ タイプでは使用できないためです。より良い方法はありますか?

大量のオブジェクトを処理する場合、これは遅くなるため、複数の値を区切り記号で分割して使用するのは好きではないことに注意してください。

4

2 に答える 2

7

HTML5data-*属性は、このために特別に設計されました。仕様から:

カスタム データ属性は、ページまたはアプリケーション専用のカスタム データを格納するためのものであり、これ以上適切な属性や要素はありません。

次のように使用できます。

<div data-random="12345" data-name="James"></div>

それらはすべての要素で有効であり、すべての要素はそれらをいくつでも持つことができます。

それらは、すべての要素が持つべきdatasetプロパティを通じてアクセスできます。jQuery を使用している場合は、この方法を使用して古いブラウザー (および IE) のdata問題を解決できます。そうでない場合は、プロパティを機能検出し、サポートされていない場所にフォールバックする必要がある場合があります。datasetgetAttributedataset

于 2012-05-28T12:04:31.610 に答える
0

jQuery と HTML5 の両方にタグを付けたので、検証を壊すことなく、エレガントで標準化された方法で、まさにあなたが探しているものだと思います。

HTML5 data-* 属性

于 2012-05-28T12:06:13.863 に答える