在id / class css中定义样式时获取/设置元素的样式?

时间:2015-07-24 01:40:59

标签: javascript html css

我可能会遗漏一些简单的东西,但我试图获取/设置div的背景颜色,但前提是已经设置了背景颜色(无论是来自class / id还是style属性)等等。)。

我尝试使用.style.backgroundColor,但它返回的只是一个空字符串(我认为因为属性是在类/ id中定义的,而不是元素样式本身)。 JSFiddle表明我的意思。

我不能使用jQuery,而且我也不能只选择class / id本身的属性,因为我用大量(可能不相关的)元素来做这件事。 / p>

最后,我们的目标是拥有这样的东西:

var allElements = document.getElementsByTagName("*");
for (var i = 0; i < allElements.length; i++) {
    if (allElements[i].style.backgroundColor != '') {
        allElements[i].style.backgroundColor = 'blue';
    }
}

谢谢!

1 个答案:

答案 0 :(得分:0)

一种方法是使用getComputedStyle()函数:https://jsfiddle.net/rk53agzj/

JS:

var byId = document.getElementById.bind(document);
byId("ending").innerText = "The color is " + getComputedStyle(byId("intro")).backgroundColor + ".";