关于 getElementsByName 与数组的区别

来源:9-4 区别getElementByID,getElementsByName,getElementsByTagName

CH灬

2017-03-05 16:05

在本节的任务3中,我输入

var j=document.getElementById("wb").value;var k=j+1;

            var hobby = document.getElementById("hobby"+j);

            hobby.checked=true;

是正确的,但是输入

var j=document.getElementById("wb").value;var k=j+1;

            var hobby = document.getElementsByName("hobby");

            hobby[j+1].checked=true;

所有按钮都没反应,而把hobby[j+1]改成hobby[j],按钮就会错位被勾选。为什么hobby【】中不能识别表达式呢?

写回答 关注

3回答

  • 洋葱宝宝
    2017-03-09 14:25:42
    已采纳

    因为var j=document.getElementById("wb").value返回值是字符串,所以不能+1

    CH灬

    非常感谢!

    2017-03-09 19:17:06

    共 1 条回复 >

  • CH灬
    2017-03-06 19:54:41

    之前写的没错的,因为我用hobby[i]是会勾选按钮的,只不过错了一位,但是hobby[i+1]完全没反应。。

  • ZzzZHH
    2017-03-06 11:09:11
    <html>
    <head>
    <script type="text/javascript">
    function alertIndex()
    {
    var x=document.getElementById("mySelect").selectedIndex;
    var y=document.getElementsByTagName("option");
    alert(y[x+1].text + " has the index of: " + y[x+1].index);
    }
    </script>
    </head>
    <body>
    
    <form>
    Select your favorite fruit:
    <select id="mySelect">
      <option>Apple</option>
      <option>Orange</option>
      <option>Pineapple</option>
      <option>Banana</option>
    </select>
    <br />
    <br />
    <input type="button" onclick="alertIndex()"
    value="Show index of the chosen fruit">
    </form>
    
    </body>
    </html>
    
     
    </body>
    </html>

    这里y[x]和y[x+1]都可以,所以你检查一下是不是之前写的有错误

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468060 学习 · 21891 问题

查看课程

相似问题