Test case details

Preparation Code

<div id="div"></div> <script> var div = document.getElementById('div'); var Data = function() {   var warehouse = {};   var count = 1;   return {     reset: function() {       count = 1;       warehouse = {};     },     set: function (dom, data) {       if (!dom.__data) {         dom.__data = "hello" + count++;       }       warehouse[dom.__data] = data;     },     get: function(dom) {       return warehouse[dom.__data];     }   }; }(); </script>
    div.setAttribute('data-yo', null);     div.setAttribute('data-ma', null);     div.setAttribute('data-la', null);     div.setAttribute('__data', null);     Data.reset();

Test cases

Test #1

div.setAttribute('data-yo', 'yo'); div.setAttribute('data-ma', 'ma'); div.setAttribute('data-la', 'la'); var a = div.getAttribute('data-yo'); var b = div.getAttribute('data-ma'); var c = div.getAttribute('data-la');

Test #2

Data.set(div, {   yo: 'yo',   ma: 'ma',   la: 'la' }); var data = Data.get(div); var a = data.yo; var b = data.ma; var c = data.la;

Test #3

div.dataset = {   yo: 'yo',   ma: 'ma',   la: 'la' }; var data = div.dataset; var a = data.yo; var b = data.ma; var c = data.la;