问答详情
源自:9-2 getElementsByName()方法

为什么getElementsByName就不能设置成红色呢?

<!DOCTYPE HTML>

<html>

<head>

<script type="text/javascript">

function getnum(){

  var mynode= document.getElementsByName("myt");  

 mynode.style.color="red";

}

</script>

</head>


<body>

<input name="myt" type="text" value="1">

<input name="myt" type="text" value="2">

<input name="myt" type="text" value="3">

<input name="myt" type="text" value="4">

<input name="myt" type="text" value="5">

<input name="myt" type="text" value="6">


<br />

<input type="button" onclick="getnum()" value="看看有几项?" />

</body>

</html>


提问者:qq_赵成冬_0 2016-08-23 13:21

个回答

  • 折翼天使I
    2016-10-26 22:59:45

    你有没有发现”getElementsByName“与”getElementById“相比,它的Element多了一个S,这就是提示你这个方法获取的是一组元素,而不是如ID那样是一个元素,在数组阶段除了Length属性外,其他没学,我现在也只能一个个更改数组内的内容,参考代码如下:

    <!DOCTYPE HTML>
    <html>
    <head>
    <script type="text/javascript">
    function getnum(){
     var mynode= document.getElementsByName("myt");
     for(var i=0;i<mynode.length;i++)
     {
       mynode[i].style.color="red";
     }
    }
    </script>
    </head>
    
    <body>
    <input name="myt" type="text" value="1">
    <input name="myt" type="text" value="2">
    <input name="myt" type="text" value="3">
    <input name="myt" type="text" value="4">
    <input name="myt" type="text" value="5">
    <input name="myt" type="text" value="6">
    
    <br />
    <input type="button" onclick="getnum()" value="看看有几项?" />
    </body>


  • 薇笑的夏娃
    2016-09-24 23:02:42

    此时获得的mynode是一个对象数组,即mynode=[input,input,...,input],是六个input对象。如果你要访问,必须加上索引来访问对象数组中的每一个元素即:mynode[0]访问第一个input,依次类推。要是input里面的值变成红色可使用以下设置:

    for(var i in mynode) {//遍历数组,获取其每一个元素,相当于for(i=0;i<=mynode.length;i++)

          mynode[i].style.color="red";//设置每一个元素的样式

      }


  • 魔法师李维
    2016-09-14 14:16:21

    因为getElementsByName获取到的是一个数组,数组本身不是DOM对象,当然没有DOM对象的属相和方法

    数组属性:

    length 用法:<数组对象>.length;返回:数组的长度,即数组里有多少个元素。它等于数组里最后一个元素的下标加一。

    数组方法:

    数组对象 属性方法

  • 那夜淡妆的你
    2016-08-23 15:10:45

    可能是你代码打错了 仔细看看 有可能是backgroundcolor