JSFiddle - React, Tailwind, and code Playground
HTML
<div id="foo" data-foo="1" data-bar="2" data-baz="3" ></div>
JavaScript
Element.prototype.dataset_simulated = function(){
var attributes = this.attributes;
var simulatedDataset = {};
for (var i = attributes.length; i--; ){
if (/^data-.*/.test(attributes[i].name)) {
var key = attributes[i].name.replace('data-', '');
var value = div.getAttribute(attributes[i].name);
simulatedDataset[key] = value;
}
}
return simulatedDataset;
};
var div = document.getElementsByTagName("div")[0];
window.console.log('dataset_simulated: ', div.dataset_simulated());
window.console.log('dataset: ', div.dataset);