このように、 DOM3 メソッド get/setUserData()
を使用して DOM 内のデータをやり取りする、昔ながらの Firefox 拡張コードがいくつかあります。残念ながら、これらはDOM4で廃止されたため、Firefox はそれらのサポートを中止する予定であり、Chrome は最初からサポートしていませんでした。
クロスブラウザの代替品はありますか? jQuery$.data
もオプションのようですが、「純粋な」JavaScript の方が望ましいでしょう。
このように、 DOM3 メソッド get/setUserData()
を使用して DOM 内のデータをやり取りする、昔ながらの Firefox 拡張コードがいくつかあります。残念ながら、これらはDOM4で廃止されたため、Firefox はそれらのサポートを中止する予定であり、Chrome は最初からサポートしていませんでした。
クロスブラウザの代替品はありますか? jQuery$.data
もオプションのようですが、「純粋な」JavaScript の方が望ましいでしょう。
そのため、最終的には jQuery を使用することにしました。コア ライブラリはわずか 75k 程度であり、問題を非常にきれいに解決します。
element.getUserData('foo') --> $(element).data('foo')
element.setUserData('foo', 'bar', null) --> $(element).data('foo', 'bar')
にデータを格納できるカスタム イベントを使用します。detail
要素に必要なプロパティを設定するだけです。
element.key = value;
DOM 要素/ノードは単なる JavaScript オブジェクトです。ネイティブ プロパティ ( など) との名前の衝突を避けるためにid
、キーの前にアンダースコアを付けることができます。
element._id = "foo";