我可能错过了一些容易在这里,但我试图获得/设置一个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 + ".";