m0_46602893 2021-10-02 21:09 采纳率: 91.5%
浏览 36
已结题

js的循环并给按钮赋值的问题?


<!DOCTYPE html>
<html lang="en">
<head>
      <meta charset="UTF-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <title>Document</title>
      <style>
            button{width: 100px;height: 40px;background-color: grey;color: white;}
            div{width: 500px;height: 500px;border: 1px solid black;}
      </style>
      <script>
            window.onload = function(){
                  var Btns = document.getElementsByTagName("button");
                  for(var i = 0;i < Btns.length; i++){
                        Btns[i].onclick = function(){
                              for(var j = 0;j < Btns.length; j++){
                                    Btns[j].style.backgroundColor = "grey";
                              }
                              this.style.backgroundColor = "red";
                        }
                  }
            }
      </script>
</head>
<body>
      <button>HTML5</button>
      <button>Python</button>
      <button>Java</button>
      <div id="div1">HTML5是构建Web内容的一种语言描述方式。HTML5是互联网的下一代标准,是构建以及呈现互联网内容的一种语言方式.被认为是互联网的核心技术之一。HTML产生于1990年,1997年HTML4成为互联网标准,并广泛应用于互联网应用的开发。HTML5是Web中核心语言HTML的</div>
      <div id="div2">Python由荷兰数学和计算机科学研究学会的Guido van Rossum 于1990 年代初设计,作为一门叫做ABC语言的替代品。Python提供了高效的高级数据结构,还能简单有效地面向对象编程。Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速...</div>
      <div id="div3">Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式...</div>
</body>
</html>

上述代码中如果我把Btns[j].style.backgroundColor = "grey";换成Btns.style.backgroundColor = "grey";为什么this.style.backgroundColor = "red";就不起作用了?

  • 写回答

2条回答 默认 最新

  • 小辣机呀 2021-10-03 00:21
    关注

    Btns 是一个数组, Btns[j] 是数组中的某一项,但是 []. 是语法错误了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 10月13日
  • 已采纳回答 10月5日
  • 创建了问题 10月2日

悬赏问题

  • ¥15 网络科学导论,网络控制
  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)