使用javascript更改按钮的颜色

新手上路,请多包涵

我无法通过简单的功能更改按钮的颜色,颜色根本没有改变。

 <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

     <script language="JavaScript">

        function changeColor(){
             document.getElementsByTagName('button').style.backgroundColor="green";
        }

     </script>

    </head>

    <body >

        <form action="/action_page.php" method="get" name="form1">
            <input type="text" id="campoDeFlores">
            <button type="button" onclick="changeColor()" name="1">1</button>
            <button type="button"  name="2">2</button>
            <button type="button"  name="3">3</button>
        </form>
    </body>
</html>

为什么它不起作用?

原文由 user7128116 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 226
2 个回答

document.getElementsByTagName 返回元素列表而不是单个元素。您需要使用 Array.from 将其转换为数组,然后使用 Array.map 遍历按钮

function changeColor(){
    Array.from(document.querySelectorAll('button')).map(function(button) {
               button.style.backgroundColor="green";
    })
}

原文由 Hum4n01d 发布,翻译遵循 CC BY-SA 3.0 许可协议

您最好使用 id="myButton"document.getElementById('myButton') 专门选择一个按钮,而不是 每个 button

原文由 Nartub 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题