使用javascript

时间:2017-06-13 21:38:07

标签: javascript

我正在处理自己的某个项目,我遇到以下问题: - 我想将span的内容字体颜色更改为红色。

这是HTML

<html>
    <head>
        <title>Testing</title>  
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        <script>
           var arr = document.getElementsByClassName("change");
           console.log(arr);
           console.log(arr.length);
           var i;

            for (i = 0; i <= arr.length; i++) {
            console.log(arr[i]);
            arr[i].style.color = red;
            }
        </script>

    </head>
    <body>
        <div> 
           <p id="test">Something <span class="change">here</span></p>
           <p id="test">Something <span class="change">there</span></p>
           <p id="test">Something <span class="change">everywhere</span></p>

        </div>
     </body>

</html>

根据我的想法,这应该有效。但是,这很奇怪。在console.log(arr)上我在浏览器的控制台中输入了HTML Collection [],这似乎可以很好地保存所有元素。

然而,使用arr.length给我0?我对自己犯错误的地方感到困惑,我确信这是一件简单的事情,我无法指责。

帮助表示赞赏。提前谢谢。

1 个答案:

答案 0 :(得分:0)

试试这个

<html>
    <head>
        <title>Testing</title>  
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    </head>
    <body>
        <div> 
           <p id="test">Something <span class="change">here</span></p>
           <p id="test">Something <span class="change">there</span></p>
           <p id="test">Something <span class="change">everywhere</span></p>
        </div>
        <script>
           var arr = document.getElementsByClassName("change");
           var i;
            for (i = 0; i < arr.length; i++) {
             arr[i].setAttribute("style", "color: red");
            }
        </script>
     </body>
</html>