js进阶9.4中的问题
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<titlntsByName,getElementsBe>无标题文档</title>
</head>
<body>
<form>
请选择你爱好:<br>
<input type="checkbox" name="hobby" id="hobby1"> 1音乐
<input type="checkbox" name="hobby" id="hobby2"> 2登山
<input type="checkbox" name="hobby" id="hobby3"> 3游泳
<input type="checkbox" name="hobby" id="hobby4"> 4阅读
<input type="checkbox" name="hobby" id="hobby5"> 5打球
<input type="checkbox" name="hobby" id="hobby6"> 6跑步 <br>
<input type="button" value = "全选" onclick = "checkall();">
<input type="button" value = "全不选" onclick = "clearall();">
<p>请输入您要选择爱好的序号,序号为1-6:</p>
<input id="wb" name="wb" type="text" >
<input name="ok" type="button" value="确定" onclick = "checkone();">
</form>
<script type="text/javascript">
function checkall(){
var hobby = document.getElementsByTagName("input");
// 任务1
for(var i=0;i<hobby.length;i++)
{
if(hobby[i].type == "checkbox")
{
hobby[i].checked = true;
}
}
}
function clearall(){
var hobby = document.getElementsByName("hobby");
// 任务2
for(var i=0;i<hobby.length;i++)
{
hobby[i].checked = false;
}
}
function checkone(){
var j=document.getElementById("wb").value;
// 任务3
var hobby = document.getElementById("hobby"+j)//要提问的部分;
hobby.checked = true;
}
</script>
</body>
</html>
题目任务1.在第27行处补充完整,实现当点击"全选"按钮时,将选中所有的复选项。
提示:document.getElementsByTagName("input")获取的是所有input标签,包括复选项和按钮,所以要判断是否是复选项,如是选中。
2.在第33行处补充完整,实现当点击"全不选"按钮时,将取消所有选中的复选项。
3.在第40行处补充完整,在文本框中输入输入1-6数值,当点击"确定"按钮时,根据输入的数值,通过id选中相应的复选项。
问题:1.代码中hobby+j hobby代表的是一个数组 而j是输入的数字,那hobby+j代表啥啊?
2.把任务三写成hobby[j-1].checked=true;为什么不行啊?