JavaScript
Article

jQuery Output All Attributes of Element

By Sam Deering

jQuery code snippet which outputs all attributes of element using the default .attr() function on any dom element(s).

//extending the attr function to return all attrs
  (function($) {
          // duck-punching to make attr() return a map
          var _old = $.fn.attr;
          $.fn.attr = function() {
            var a, aLength, attributes, map;
            if (this[0] && arguments.length === 0) {
                    map = {};
                    attributes = this[0].attributes;
                    aLength = attributes.length;
                    for (a = 0; a < aLength; a++) {
                            map[attributes[a].name.toLowerCase()] = attributes[a].value;
                    }
                    return map;
            } else {
                    return _old.apply(this, arguments);
            }
    }
  }(jQuery));
[/js]

usage:

[js]
console.dir($('#c4').attr());

output:

output-attributes

  • sash

    how do i use this snippet?

  • http://twitter.com/zlosny Zlosny

    thanks! this helped me a lot.

  • avi

    && = &&

    • avi

      meant that amp; amp; is &&

Recommended

Learn Coding Online
Learn Web Development

Start learning web development and design for free with SitePoint Premium!

Get the latest in JavaScript, once a week, for free.