问答详情
源自:9-4 区别getElementByID,getElementsByName,getElementsByTagName

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

 这题第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;       
        }


提问者:laxy 2015-11-28 21:03

个回答

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

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

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

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

    所以两者一回事。