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

请教~为何无法返回第一个元素的信息

<!DOCTYPE HTML>
<html>
<head>
<script type="text/javascript">
function getnum(){
  var mynode=document.getElementsByName("myt");  
  document.getElementById("mylen").innerHTML=mynode.length;
  document.getElementById("mylen1").innetHTML=mynode[0];
}
</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="看看有几项?" />
<p>
    <span>数量:</span><span id="mylen"></span>
    <span>第一个是:</span><span id="mylen1"></span>
</p>
</body>
</html>


提问者:qq_四月天_10 2017-02-09 18:26

个回答

  • 不知不觉后知后觉嗯
    2017-02-09 20:01:02
    已采纳

    mynode[0]后面少.value,如下:

    document.getElementById("mylen1").innetHTML=mynode[0].value;

    --document.getElementsByName()返回的是一个数组,所以对于这个地方来说

    var mynode=document.getElementsByName("myt");
    mynode就是一个一维数组,里面有6个input元素(因为input元素的name是myt)。

    mynode[0]就表示第一个input元素,你的意思是将第一个input元素的value赋值给id为mylen1的元素

    所以 应该是

    document.getElementById("mylen1").innetHTML=mynode[0].value;