こんなかんじ? var $D = (function(){ var camelize = function(string){ return string.replace(/-+(.)?/g, function(match, chr) { return chr ? chr.toUpperCase() : ''; }); }; return function(element){ if( element.dataset ) return element.dataset; var sets = {}; for(var i=0,a=element.attributes,l=a.length;i<l;i++){ var attr = a[i]; if( !attr.name.match(/^data-/) ) continue; sets[camelize(attr.name.replace(/^da