Get *all* CSS attributes with jQuery

Solution 1:

See this live example using the jQuery attribute selector

$(document).ready(function() {
    alert($("#stylediv").attr('style'));
});​

Solution 2:

What about something like this:

jQuery CSS plugin that returns computed style of element to pseudo clone that element?

It is ugly, but it appeared to work for the poster...

This also may be of interest: https://developer.mozilla.org/en/DOM:window.getComputedStyle

Solution 3:

Not sure how cross-browser this one is, but it works in Chrome -

https://gist.github.com/carymrobbins/223de0b98504ac9bd654

var getCss = function(el) {
    var style = window.getComputedStyle(el);
    return Object.keys(style).reduce(function(acc, k) {
        var name = style[k],
            value = style.getPropertyValue(name);
        if (value !== null) {
            acc[name] = value;
        }
        return acc;
    }, {});
};