【问题标题】:Change All Elements Within Node List [duplicate]更改节点列表中的所有元素 [重复]
【发布时间】:2018-11-28 23:50:49
【问题描述】:

我正在尝试使用一行代码更改节点列表中每个元素(按钮)的颜色。首先,我制作了节点列表:

var buttons = document.querySelectorAll('button');

现在我想做的是用一行代码改变每个按钮的颜色。我试过了

buttons.style.color = "green";

这会返回一个错误,说明按钮未定义。我认为不可能用那行代码更改所有元素,并且我一直无法找到另一种方法来做到这一点。因此,如果有人知道,将不胜感激。

【问题讨论】:

  • 由于标记的副本并不能真正回答问题......您必须使用循环或类似forEach 的方式遍历元素。您应该检查您的浏览器兼容性限制,但“现代”解决方案将是 document.querySelectorAll('button').forEach(el => el.style.color = 'green')
  • @Damon 重复的问题完美地回答了这个问题[如果我们当然花时间阅读它们] ...作为旁注,您共享的代码已经在那些重复中:stackoverflow.com/a/44874457/8620333 其中确认它是完美的复制品
  • @TemaniAfif 第二个链接是在我发表评论后才出现的,我指的是stackoverflow.com/questions/14377590/…,这不相关
  • 但是是的,这已在其他地方多次回答:stackoverflow.com/questions/12330086/…

标签: javascript html css colors styles


【解决方案1】:

with [].slice.call(document.querySelectorAll('button'));你得到一个数组,它比 nodelist 更容易使用数组

【讨论】:

    猜你喜欢
    • 2018-05-27
    • 1970-01-01
    • 2023-03-30
    • 1970-01-01
    • 2018-12-30
    • 2021-10-12
    • 2013-06-01
    • 2019-10-21
    • 2021-12-04
    相关资源
    最近更新 更多