data-*
クライアント側のインタラクション設定の一部にHTML5の属性を使用しています。jQueryはこれらを使用して処理を実行します。
キャッチは、入ってくるHTMLが異なるかもしれないということです。明らかに、これは修正する必要のある問題ですが、残念ながら、作成されるHTMLを常に管理しているわけではありません。
質問:
これらの2つのタグを考えると:
<a data-sampleAttributeName="example">
<a data-sampleattributename="example">
それらを同じものとして扱う賢い方法はありますか?
私が思いついた最高のものは次のようなものです:
var theAttribute = ($myobject).data('sampleAttributeName');
if (($myobject).data('sampleAttributeName')){
theAttribute = ($myobject).data('sampleAttributeName')
} else {
theAttribute = ($myobject).data('sampleattributename')
}
これを、キャメルケースのバージョンを渡すだけで両方をチェックできる関数に変えることができます。data
(またはattr
)値の大文字と小文字を無視する、よりクリーンな組み込み機能がjQueryにあるかどうか疑問に思っていました。