📅  最后修改于: 2023-12-03 15:26:13.659000             🧑  作者: Mango
在Web开发中,我们经常需要根据元素的某个属性值来筛选一些元素,比如根据元素的class来获取所有class为"foo"的元素。而本题要求的是获取所有背景色为白色的元素。
let elements = document.getElementsByTagName('*');
let whiteElements = [];
for (let i = 0; i < elements.length; i++) {
let element = elements[i];
let computedStyle = window.getComputedStyle(element);
if (computedStyle.backgroundColor === "rgb(255, 255, 255)") {
whiteElements.push(element);
}
}
document.getElementsByTagName('*')
:获取文档中所有元素window.getComputedStyle(element)
:获取元素的计算样式computedStyle.backgroundColor
:获取元素的背景色,返回值为RGB颜色值rgb(255, 255, 255)
:表示白色的RGB颜色值push(element)
:将符合条件的元素存入数组中getComputedStyle()
方法返回的样式是计算过的样式,即将所有CSS样式应用到元素后的最终样式。