10

カスタム データ タグまたは ID のどちらかを選択する必要があります。カスタム データ タグを選択したいのですが、現在最も広く使用されているブラウザとの互換性の問題が発生しないようにしたいと考えています。

私は jQuery 1.6 を使用しており、私の特定のシナリオには、いくつかのアクションで commentId を参照する必要がある状況が含まれます。

<div data-comment-id="comment-1" id="comment-1">
   <a class="foo"></a>
</div>

jQueryin でデータ タグを抽出する方が簡単です。$('foo').data('commentId');

ID から部分文字列を抽出するのは少し複雑に思え、何らかの理由で壊れる可能性があります。<a id="comment-1"

どちらのアプローチにも、抜本的なメリットや致命的な欠陥はありますか?

4

2 に答える 2

6

次の理由から、データ属性を使用することをお勧めします。

  • ID はドキュメント全体で一意である必要があります。したがって、それらが運ぶことができるセマンティクスが制限されています
  • 要素ごとに複数のデータ属性を持つことができます

おそらくあなたの場合はあまり関係がありません:

  • id を変更すると idref が壊れる可能性があります

ただし、jQuery で要素 ID を抽出することは data 属性を取得するのと同じくらい簡単であるため、仕様を完全に理解しているかどうかはわかりません$('.foo').attr('id');

Web テクノロジーのブラウザー互換性サイトであるCaniuse.comに興味があるかもしれません。

XHTML が問題である場合は、XHTML でカスタム データ属性を使用する方法にも興味があるかもしれません。SOに関する議論についてはこちらを参照してください。名前空間を使用した XHTML 互換のアプローチについては、こちらを参照してください。

于 2011-06-10T09:45:20.390 に答える
2

この男は、データ属性はIE6で動作すると言います。

于 2011-06-09T20:11:12.270 に答える