要素のデータ属性を取得するJavaScript関数が必要です。ネイティブ JS の要素で使用したい。
私はプロトタイプのゲッターを探し回りましたが、それがどのように機能するかについて頭を悩ませることはできません (javascript はまだ私のお茶ではありません)。
私が欲しいもの:
this.myCustomFunction('fooBar'); // the `this` element
document.getElementById('ExampleId').myCustomFunction('fooBar'); // another way of selecting
私が見つけたすべての例は、私が自分で作成したオブジェクトに関するものです。上記の例のようなものが欲しいです。
ベンチマークを提供するには、ここでベンチマークを見つけることができます
誰かが私に小さな例と、コードがどのように流れるかについての説明を与えることができれば、それは素晴らしいことです (または、将来の参考のために、これがどのように呼び出されるかについて)。
最初のコメントは、このようにしないように私に勧めています。別の解決策がある場合に備えて、私の目標をもう少し説明します。これは私が今いるところです:
Object.prototype.cms_getDataAttr = function(dataname){
// IE upto 10 doenst work with dataset, so use the slower 'getAttribute'
if( typeof this.dataset == 'undefined'){
return this.getAttribute('data-'+dataname);
}
else{
// I want to use this one instead, benchmarked this is ALOT faster
return this.dataset.bigsrc;
}
}