web-dev-qa-db-ja.com

古いブラウザでHTML5の「data- *」属性を使用することに問題はありますか?

いくつかのカスタムデータをいくつかのHTMLノードに関連付けたい。新しいHTML5スタイルの「data- *」属性を使用する予定でした。例:_<tr class="foo" data-typeid="7">…_次に、このHTMLノードを選択し、$(node).attr("data-typeid")で値を読み取って表示/非表示にします。

ただし、このWebページは古いブラウザでも機能する必要があります。 data- *属性を特別な属性として使用していませんが、古いブラウザがこの属性を無視、ワイプ、または無効にするかどうかを知りたいのですが、これは有効なHTML4ではありません。

44
Rory

もちろん、実際にはありません。HTML4では100%正しい/有効な使用法ではありません....ただし、問題は発生しませんなので、解決するのに最適な方法です。 「このための属性が必要です」という問題。

それが役に立ったら、私はIE6をサポートしている間にこれらを使用し、これまでのところ問題はありませんでした。また、1つのSO質問レポートも思い出せません。

54
Nick Craver

Internet ExplorerとMicrosoftは、有効なHTML4ではないいくつかのカスタム属性を追加しました。ブラウザは要素の属性を仕様と照合しません。必要に応じて、属性にroryscoolinfo="hello"という名前を付けることができます(ただし、そうすべきではありません)。

Dojo Toolkitは、カスタムdojo*属性を追加します。

今日は、HTML5Doctypeでdata-を使用しても問題ありません。

11
Jacob Rask