code: function data(key, val) {
    var o = {}, z;
  
    function inject(name) {
      if(typeof name === 'string' && name.indexOf(prefix) !== 0) {
        name = prefix + name;
      }
      return name;
    }
  
    if(typeof key === 'string') {
      key = inject(key);
    }else if(typeof key === 'object') {
      for(z in key) {
        o[inject(z)] = key[z];
      }
      key = o;
    }
  
    return this.attr(key, val);
  }
docs: Get a data attribute of the first matched element or
  set `data` attribute(s) on all matched elements.
  
  Requires that the `attr` plugin has been loaded.