使用循环获取每个子元素的样式属性
Get style property of each children using loop
我正在尝试获取每个子元素的背景色。
var arr = [];
for(var c = 0; c < 5; c++){
var temp = div.children[c].style.backgroundColor;
arr[c] = temp;
}
我似乎不明白为什么它不工作,因为当我使用下面的代码时,它工作了
div.children[c].style.backgroundColor = "#eee";
Window.getComputedStyle()
方法在应用活动样式表并解析这些值可能包含的任何基本计算后,给出元素的所有CSS
属性的值。
HTMLElement.style
属性返回一个CSSStyleDeclaration对象,该对象只表示element's inline style attribute
,忽略任何应用的样式规则。
HTMLElement.style
只适用于inline-css
,使用 getComputedStyle(Element)
获取与Element
相关的所有style
对象。
注意:我将使用Array#push
而不是在指定的index
赋值。
var arr = [];
for (var c = 0; c < 5; c++) {
var temp = getComputedStyle(div.children[c]).backgroundColor;
arr.push(temp);
}
避免自定义创建数组的替代方法。
Array.map.call
var div = document.getElementById("text");
var arr = Array.prototype.map.call(div.children, function(el) {
return window.getComputedStyle(el).backgroundColor;
})
console.log(arr)
<div ID="text">
<span style="background-color:rgb(200,20,20)">1</span>
<span style="background-color:rgb(250,150,150)">2</span>
<span style="background-color:rgb(150,100,0)">2</span>
</div>
相关文章:
- 如何提供在javascript中编写对对象的重复访问以设置元素样式的简写
- .clone().appendTo-替换不起作用的元素样式
- 使用JavaScript更改带有窗口高度的元素样式
- Javascript重置元素样式
- 取消:活动元素样式
- 什么是最好的表单元素样式库/插件(jQuery)
- 更改页面滚动上的元素样式
- 动态更新数百万个 DOM 元素样式的最快方法
- 覆盖元素.样式表.css文本
- 在禁用 JavaScript 时添加元素样式
- 确定所有屏幕尺寸的元素样式
- 设置 HEAD 元素样式以将其用作数据存储
- 如何使用带有 % 符号值的 ERB 和 JQuery 修改元素样式属性
- asp.net 高度属性的元素样式问题
- 如何覆盖元素样式,使其无法更改
- 如何使用ng样式单击时更新元素样式
- 使用 jQuery 更新 HTML 元素样式参数值
- 将鼠标悬停在另一个元素上时更改元素样式
- 如何将加载到<对象>中的元素样式设置为数据
- 在jQuery UI对话框中设置元素样式