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日

悬赏问题

  • ¥30 matlab ode45 未发现警告,但是运行出错
  • ¥15 vscode platformio
  • ¥15 代写uni代码,app唤醒
  • ¥15 全志t113i启动qt应用程序提示internal error
  • ¥15 ensp可以看看嘛.
  • ¥80 51单片机C语言代码解决单片机为AT89C52是清翔单片机
  • ¥60 优博讯DT50高通安卓11系统刷完机自动进去fastboot模式
  • ¥15 minist数字识别
  • ¥15 在安装gym库的pygame时遇到问题,不知道如何解决
  • ¥20 uniapp中的webview 使用的是本地的vue页面,在模拟器上显示无法打开