code: function(attribute, val) {
          if (arguments.length == 2) {
              return this.each(function(el) {
                  if (el.tagName && el.tagName.toLowerCase() == 'input' && attribute == 'value') el.value = val;
                  else if (el.setAttribute) {
                    if (attribute == 'checked' && (val == '' || val == false || typeof val == "undefined")) el.removeAttribute(attribute);
                    else el.setAttribute(attribute, val);
                  }
              });
          } else {
              var attrs = [];
              this.each(function(el) {
                  if (el.tagName && el.tagName.toLowerCase() == 'input' && attribute == 'value') attrs.push(el.value);
                  else if (el.getAttribute && el.getAttribute(attribute)) {
                      attrs.push(el.getAttribute(attribute));
                  }
              });
              return attrs;
          }
      }
docs: attr
  ----
  
  Gets or sets attributes on elements. If getting, returns an array of attributes matching the xui element collection's indices.
  
  ### syntax ###
  
  x$( window ).attr( attribute, value );
  
  ### arguments ###
  
  - attribute `String` is the name of HTML attribute to get or set.
  - value `Varies` is the value to set the attribute to. Do not use to get the value of attribute _(optional)_.
  
  ### example ###
  
  To get an attribute value, simply don't provide the optional second parameter:
  
  x$('.someClass').attr('class');
  
  To set an attribute, use both parameters:
  
  x$('.someClass').attr('disabled', 'disabled');