JSFiddle - React, Tailwind, and code Playground

by Darby Rathbone

HTML

<span data-set='this.innerHTML' data-type='random-number' data-min='0' data-max='1000'></span>

JavaScript

var data_types = {
    random_number: function (e) {
        var min = parseFloat(e['data-min']),        
            max = parseFloat(e['data-max']);
        
        e.updateAttribute = function(v) {
                Function(e['data-set']+" =  "+v).call(e);
            };
            e.updateAttribute((max-min)*Math.random()+min);
    }
};
        
        [].slice.call(Object.keys(arguments[0].attributes)).forEach(

        function () {
            if (arguments[0] === "data-type") {

                this[arguments[0]]
        }, arguments[0]):
    }


};
[].slice.call(document.querySelectorAll('*[data-type]')).forEach(

function () {
    data_types[arguments[0]['data-type'].replace(/-/gm,'_')](arguments[0]);
});