Как получить все примененные стили элемента, просто указав его идентификатор?

Я пытался написать функцию, которая принимает идентификатор элемента и выдает список всех атрибутов стиля (с их значениями), примененных к этому элементу. Он должен учитывать встроенный стиль, а также стиль, определенный в файле css.

Я мог бы заставить эту функцию работать, когда я указываю имя атрибута стиля вместе с идентификатором элемента в параметре, но я просто хочу передать идентификатор элемента и должен иметь возможность получить все атрибуты стиля вместе со значениями.

функция должна быть чем-то вроде getStyleById (elementId);

PFB пока что фрагмент кода:

var styleNode = [];
    var styles;
    var sty = x.style;

    var len = sty.length;

    for (var i = 0; i < len; i++) {
        styles = sty.item(i);

        if (x.currentStyle)     //IE for External/Global Styles
        {
            var a = x.currentStyle[styles];

            styleNode.push(styles + ":" + a);
        }
        else if (document.defaultView && document.defaultView.getComputedStyle)    //Firefox,Chrome,Safari for External/Global Styles
        {
            var b = document.defaultView.getComputedStyle(x, "").getPropertyValue(styles);

            styleNode.push(styles + ":" + b);
        }
        else           //Works in Inline Styles only
        {
            var c = x.style[styles];

            styleNode.push(styles + ":" + c);
        }
    }

Любая помощь приветствуется.

С уважением,

манишекхават

16
задан manishekhawat 24 February 2012 в 12:32
поделиться