当style在id/class css中定义时,获取/设置元素的style



我可能错过了一些容易在这里,但我试图获得/设置一个div的背景色,但只有当背景色已经设置(无论是从类/id,或样式属性等)。

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

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

最后,我们的目标是得到这样的东西:

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

谢谢!

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

JS:

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

最新更新