Preparation Code Preparation HTML (this will be inserted in the <body>
of a valid HTML5 document in standards mode) (useful when testing DOM operations or including libraries) <script src ="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js" > </script >
<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 >
Setup JS
Teardown JS
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 Title *
Async
Code * 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 Title *
Async
Code * 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 ;
Title *
Async
Code * div.dataset = {yo : 'yo' , ma : 'ma' , la : 'la' };
var data = div.dataset ;
var a = data.yo ;
var b = data.ma ;
var c = data.la ;
Title *
Async
Code * var _div = $('div' );
_div.attr ('data-yo' , 'yo' );
_div.attr ('data-ma' , 'ma' );
_div.attr ('data-la' , 'la' );
var a = _div.attr ('data-yo' );
var b = _div.attr ('data-ma' );
var c = _div.attr ('data-la' );