为了账号安全,请及时绑定邮箱和手机立即绑定

为什么要多一步把“hobby”+j赋值给hobby?

function checkone(){

        // 任务3

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

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

            hobby.checked=true;

        }

为什么不能这样

function checkone(){

        // 任务3

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

            //这行不要var hobby=document.getElementById("hobby"+j);

            "hobby"+j.checked=true;

        }


正在回答

3 回答

首先 var hobby=document.getElementById("hobby"+j);这一句不是把“hobby”+j赋值给hobby,

 var j=document.getElementById("wb").value;这里是获取id为wb的那个文本框里的值,也就是你输入的值。

假设你输入的是2,那么j=2;

从而"hobby"+j的值是hobby2,

所以var hobby=document.getElementById("hobby2"),所以hobby是id为hobby2的节点

hobby.checked=true;这里就是选择id为hobby2的复选框。

然后说说"hobby"+j.checked=true;

我真的没看到过这种写法,=左边的应该是变量,"hobby"+j.checked这个不是变量。。。。。
不要把=看成等于号,=是赋值符号



2 回复 有任何疑惑可以回复我~
#1

冷月诗魂 提问者

非常感谢!
2016-03-14 回复 有任何疑惑可以回复我~

原来+是连接符的意思!!真是太感谢了,想了半天

0 回复 有任何疑惑可以回复我~

最后那行可以("hobby"+j),丢了括号意思就变了

0 回复 有任何疑惑可以回复我~
#1

冷月诗魂 提问者

不行的,已经试过了
2016-03-09 回复 有任何疑惑可以回复我~
#2

武宣 回复 冷月诗魂 提问者

我也是初学,只能跟你讨论下,那个+是连接符不是赋值的意思 例如"hobby"+4相当于获取id=hobby4的值
2016-03-09 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么要多一步把“hobby”+j赋值给hobby?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信