这里的数组对象怎么可以这样选择元素?

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

laxy

2015-11-28 21:03

 这题第3个函数中,变量j获取的是输入框中的数字,变量hobby这样表示后成什么了?后面括号里怎么可以用”hobby“+j来表示?hobby不是一个数组对象吗?怎么后面直接作为一个数组元素调用了呢?

 function checkone(){
            var j=document.getElementById("wb").value;
            var hobby = document.getElementById("hobby"+j);
            hobby.checked = true;    
        }

我写的答案是下面这样子的,这个我才能理解。

function checkone(){
            var j=document.getElementById("wb").value;
            var hobby = document.getElementsByName("hobby");
            hobby[j-1].checked=true;       
        }


写回答 关注

1回答

  • wslover
    2015-12-01 10:43:42

    前面用的是getElementById,你后面用的是getElementsByName。

    ”hobby“+j   是字符串拼接,比如j=1时,表示hobby1,是可以取到id为这个的元素。

    你用getElementsByName取到元素集合,然后用[j-1]也是一样的可以取到。

    所以两者一回事。

    uwenha...

    原来如此,是这个意思啊。也困扰了我很久。谢谢你的解答

    2016-01-11 10:01:13

    共 1 条回复 >

JavaScript进阶篇

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

468061 学习 · 21891 问题

查看课程

相似问题