javascript - 更改数组中所有元素的 CSS 属性

标签 javascript html css arrays for-loop

<分区>


想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它.

关闭 8 年前

我要改.style.backgroundColor所有<time>一些元素 <div id="div"> . 我是这样解决的:

var times = div.getElementsByTagName("time");
for (var i = 0; i < times.length; i++) {
    times[i].style.backgroundColor = "#d00";
}

是否可以优化代码以尽可能减少变量?或者也许有一种方法可以用一条线来做到这一点?
P.S.:不使用 JQuery;

最佳答案

在 ES6 环境中:

Array.from(div.querySelectorAll("time"), e => e.style.backgroundColor = "#d00");

这利用了 Array.from 将 DOM 节点列表转换为数组的能力,采用第二个参数,该参数是要应用于每个元素。

关于javascript - 更改数组中所有元素的 CSS 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29743926/

上一篇:html - 为什么我的按钮在我点击时看起来不一样?

下一篇:CSS白色透明div

相关文章:

javascript - nuxt.js 文档未定义,pugin 出现问题

javascript - 如何使用 for 循环调用对象内所有方法内的所有函数?

javascript - 如何检查元素的位置?

javascript - 如何有效地存储与其相应对象关联的 DOM 元素?

javascript - JSFiddle 代码在我自己的页面中不起作用

java - 如何使用 Java 计算 Selenium WebDriver 中的 HTML 子标签

html - 如何确保一个 css 文件不会覆盖另一个文件?

html - Sinatra 的 CSS 响应时间慢

javascript - 鼠标移开后显示子菜单

html - 列未完全跨越三列表