问答详情
源自:9-3 getElementsByTagName()方法

为什么不能通过getElementsTagName的方式改变文本的颜色?

试了getElementsByName和getElementsByTagName都不行,只有getElementById可以,比如下面的例子

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
    <title></title>
    <script type="text/javascript">
    function red() {
 var colour=document.getElementsByTagName("div");
        colour.style.color="red";
        }
    </script>
</head>
<body>
  <div>慕课网</div>
  <br/>
  <input type="button" value='更改颜色' onclick="red()">
</body>
</html>


提问者:慕码人7160198 2016-12-19 19:10

个回答

  • BUG_0003
    2016-12-20 11:02:14
    已采纳

    getElementsByName和getElementsByTagName获取的是一个由dom元素组成的数组。数组是无法直接用style属性来设置的,得先循环遍历这个数组,一项项取得dom元素再赋予style属性

  • 慕的地3727796
    2016-12-20 13:12:52

    getElementsByTagName获取的是数组。数组不能直接用style属性来设置的,用colour[0].style.color="red";可以实现