首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >document.querySelectorAll不在JavaScript工作

document.querySelectorAll不在JavaScript工作
EN

Stack Overflow用户
提问于 2022-04-03 18:17:09
回答 2查看 268关注 0票数 0

我是一个完全的初学者,所以请帮助我理解为什么document.querySelectorAll不在这里工作?

代码语言:javascript
代码运行次数:0
运行
复制
   <p id="demo">This is a paragraph.</p>
   <h1 id="1demo"> Hello </h1>
   <button type="button" onclick="myFunction()">Set font size</button>

    <script>
       function myFunction() {
       document.querySelectorAll("#demo, #1demo").style.fontSize = "x-large";
        }
    </script>

我尝试了'getElementsByClassName‘以及class=的“演示”,只有当我指定“演示”或“演示”1时,它才起作用,但当只给出“演示”时,两者都不起作用。

EN

回答 2

Stack Overflow用户

发布于 2022-04-04 11:46:03

您需要迭代从querySelectorAll返回的节点列表,并将样式单独应用于每个元素。同样,从数字开始的id选择器在querySelectorAll中不能很好地工作,所以我将1demo更改为demo2

代码语言:javascript
代码运行次数:0
运行
复制
function myFunction() {
  const nodes = document.querySelectorAll("#demo, #demo2");
  nodes.forEach(node => node.style.fontSize = "x-large");
}
代码语言:javascript
代码运行次数:0
运行
复制
<p id="demo">This is a paragraph.</p>
<h1 id="demo2"> Hello </h1>
<button type="button" onclick="myFunction()">Set font size</button>

票数 0
EN

Stack Overflow用户

发布于 2022-04-04 11:56:37

因为document.querySelectorAll返回一个节点列表。您必须遍历列表中的每个元素,才能访问每个元素的属性(如element.style.fontSize )。

为了迭代,您可以有许多方法,如for...of回路Array.forEach法或任何其他可以根据您的情况进行调整的迭代指令。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71728697

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档