极客GHOST
2015-04-07 14:10
var hobby = document.getElementsByName("hobby");
hobby[parseInt(j)-1].checked=true;
这两句不太明白 第一句是取这个元素的name赋值给 hobby 后面这句 -1 是什么意思
第一句获取name是hobby的element,得到的是一个数组,然后第二句通过下标parseInt(j)-1取出checked的属性并赋值true,-1是因为数组的下标是从0开始的
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
</head>
<body>
<form>
请选择你爱好:<br>
<input type="checkbox" name="hobby" id="hobby1"> 音乐
<input type="checkbox" name="hobby" id="hobby2"> 登山
<input type="checkbox" name="hobby" id="hobby3"> 游泳
<input type="checkbox" name="hobby" id="hobby4"> 阅读
<input type="checkbox" name="hobby" id="hobby5"> 打球
<input type="checkbox" name="hobby" id="hobby6"> 跑步 <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");
for(var i=0;i<hobby.length;i++)
{
hobby[i].checked=true;
}
// 任务1
}
function clearall(){
var hobby = document.getElementsByName("hobby");
for(var i=0;i<hobby.length;i++)
{
hobby[i].checked=false;
}
// 任务2
}
function checkone(){
var j=document.getElementById("wb").value;
if(parseInt(j)>6||parseInt(j)<1)
{
alert("请输入1-6之间的数字");
}
// 任务3
var hobby=document.getElementsByName("hobby");
hobby[parseInt(j)-1].checked=true;
}
</script>
</body>
</html>
hobby[parseInt(j)-1].checked=true,这一句起的作用是判断是否被选中。 其中,hobby[parseInt(j)-1] 是一个数组。parseInt的作用是强制把字符串转换成数字,因为有的时候我们得到的数字其实是一个字符串,不能进行算术操作,小括号里面的 j ,也只是一个传值的参数,后面这个 -1,只是一个减去1的算术操作罢了,至于为什么要减去1,那得看程序的具体需求了。
等于没回复
-1就是-1, 意思说2-1=1、 1 -1=0
JavaScript进阶篇
468194 学习 · 21891 问题
相似问题