【发布时间】:2020-06-05 14:33:39
【问题描述】:
我正在尝试使用 javascript 来查看一个类是否具有特定的背景颜色,但每次我尝试某些东西时它总是返回未定义。我已经尝试了很多东西,所以我在这里不知所措。
CSS
.ChangeColors {
background-color: #ff801b;
color:black;
}
Javascript
function ChangeColors(){
var all = document.getElementsByClassName('ChangeColors');
if (all.style.backgroundColor == "#ff801b") {
for (var i = 0; i < all.length; i++) {
all[i].style.color = 'white';
all[i].style.backgroundColor = 'blue';
}
} else {
for (var i = 0; i < all.length; i++) {
all[i].style.color = 'black';
all[i].style.backgroundColor = '#ff801b';
console.log(help)
}
}
}
【问题讨论】:
-
getElementsByClassName 返回 HTMLCollection 的数组,所以你可以做 all[index] 并尝试一下。
-
-
如果您只需要在预定义的颜色之间切换,那么这不应该通过遍历所有相关元素并检查它们的颜色来完成,而是通过更改共同祖先元素的类来完成,并让您的样式表完成所有其余的工作。
标签: javascript css