Over a million developers have joined DZone.

Look Mom No jQuery !!! Getting All CSS Properties of a DOM Element in Pure JavaScript

DZone's Guide to

Look Mom No jQuery !!! Getting All CSS Properties of a DOM Element in Pure JavaScript

· Web Dev Zone
Free Resource

Discover how to focus on operators for Reactive Programming and how they are essential to react to data in your application.  Brought to you in partnership with Wakanda

Getting and setting CSS properties is a simple task. We can make it in pure JavaScript:

var color = domElem.style.color;    // Get color
domElem.style.color='blue';    // Set new color

Using jQuery it can be done with the $.css() method:

var color = $(domElem).css('color');    // Get color
$(domElem).css('color', 'blue');    // Set new color

The recent jQuery++ project claims to have a $.styles() method fastest than $.css() one.

The issue is: How to get all the styles of a given DOM element? Not only those applied directly with the style attribute but those applied using CSS classes.

The solution

Next code retrieves an object with all the style properties of a given DOM element, no matter if they were specified in CSS classes or withint the style attribute of the element.

The idea behind the code is simply: we invoke the browser function that computes the whole element’s style or, if it is not possible, retrieves the CSS properties from the style attribute.


function getComputedStyle( dom ) {
        var style;
        var returns = {};
        // FireFox and Chrome way
            style = window.getComputedStyle(dom, null);
            for(var i = 0, l = style.length; i < l; i++){
                var prop = style[i];
                var val = style.getPropertyValue(prop);
                returns[prop] = val;
            return returns;
        // IE and Opera way
            style = dom.currentStyle;
            for(var prop in style){
                returns[prop] = style[prop];
            return returns;
        // Style from style attribute
        if(style = dom.style){
            for(var prop in style){
                if(typeof style[prop] != 'function'){
                    returns[prop] = style[prop];
            return returns;
        return returns;

 The code works (or must work) on any browser. For FireFox and Chrome browser the right way to get the computed style is through the window.getComputedStyle() method, while on IE and Opera browsers the dom.currentStyle property is the right place.

Learn how divergent branches can appear in your repository and how to better understand why they are called “branches".  Brought to you in partnership with Wakanda


Published at DZone with permission of Antonio Santiago, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.


Dev Resources & Solutions Straight to Your Inbox

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.


{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}