HTML5 には、data- プレフィックスを使用して要素にカスタム属性を設定する手段が含まれていることを知りました。ただし、javascript コード ブロック中にプロパティを読み取る方法に関しては、私は少し困惑しています。DOMStringMap がどのように機能しているかについての私の解釈だと思います。
次のサンプル html のプロパティを読み取る方法を単純化できますか。
<span data-complex-key="howtoRead" data-id="anId">inner</span>
次のことを試してみても、期待どおりに機能しません
spanEl.dataset['id'] // straight-forward and result is anId
spanEl.dataset['complex-key'] // undefined
spanEl.dataset['complex']['key'] // throws 'cannot read property of undefined'
spanEl.getAttribute('complex-key') // there's a null however,
spanEl.getAttribute('data-complex-key') // this variant seems to work
私が不思議に思うもう 1 つのことは、CSS セレクターは、私が DOM に記述したものとまったく同じパターンに従っているように見えることです。
たとえば、これは一致します
span[data-complex-key="howtoRead"] { color:green }
HTML5 キャンバス、ビデオ、およびローカル データ ストレージにますます関心を寄せています:)