小编典典

getComputedStyle(或)$ .css(map)<-获取每个样式声明

css

除了遍历声明了每个样式属性的数组外,还有什么方法可以获取dom元素所有样式的键/值输出?


阅读 583

收藏
2020-05-16

共1个答案

小编典典

有什么方法可以获取dom元素所有样式的键/值输出?

是的,但不要期望值(单位等)的确切处理是相同的跨浏览器。

var styles= [];

// The DOM Level 2 CSS way
//
if ('getComputedStyle' in window) {
    var cs= getComputedStyle(element, '');
    if (cs.length!==0)
        for (var i= 0; i<cs.length; i++)
            styles.push([cs.item(i), cs.getPropertyValue(cs.item(i))]);

    // Opera workaround. Opera doesn't support `item`/`length`
    // on CSSStyleDeclaration.
    //
    else
        for (var k in cs)
            if (cs.hasOwnProperty(k))
                styles.push([k, cs[k]]);

// The IE way
//
} else if ('currentStyle' in element) {
    var cs= element.currentStyle;
    for (var k in cs)
        styles.push([k, cs[k]]);
}
2020-05-16