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

JS进阶篇 9-4 任务3

我写的这个:

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

答案给的这个:

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


问题:为什么我写的那个不行?任务2中定义了hobby数组,在这里不能直接用吗?

全部代码太多了,我就不全部贴出来了,见谅

提问者:kking_xyz 2016-08-02 12:34

个回答

  • Mmmmmm_3699735
    2016-08-02 14:11:10
    已采纳

    任务二中的是局部定义只能局部使用,除非在所有的function外定义,才能够在所有的function中使用

  • polemo_ivy
    2016-08-02 14:27:41

    checkone()里边的hobby在里边并未定义,没法直接用。hobby[j-1]是无效的,要先定义。

  • Mmmmmm_3699735
    2016-08-02 14:11:09

    任务二中的是局部定义只能局部使用,除非在所有的function外定义,才能够在所有的function中使用

  • Mmmmmm_3699735
    2016-08-02 14:11:08

    任务二中的是局部定义只能局部使用,除非在所有的function外定义,才能够在所有的function中使用