function checkall(){
var hobby = document.getElementsByTagName("input");
for(var i=0;i<hobby.length;i++){
if(hobby[i].type=="checkbox")
hobby[i].checked=true;
}可以用document.getElementsByName("hobby");的方法去实现吗?
<!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(j==1){
// document.getElementById("hobby1").checked=true;
// }
// else if(j==2){
// document.getElementById("hobby2").checked=true;
// }
// else if(j==3){
// document.getElementById("hobby3").checked=true;
// }
// else if(j==4){
// document.getElementById("hobby4").checked=true;
// }
// else if(j==5){
// document.getElementById("hobby5").checked=true;
// }
// else{
// document.getElementById("hobby6").checked=true;
// }
var k=document.getElementsByName("hobby");
for(var n=0;n<k.length;n++){
if(k[n].checked=true){
k[n].checked=false;
}
if(j==n+1){
k[n].checked=true;
n=n+1;
k[n-2].checked=false;
}
}
}
</script>
</body>
</html>function checkone(){
var j=document.getElementById("wb").value;
var k=document.getElementsByName("hobby");
for(var n=0;n<k.length;n++){
if(k[n].checked=true){
k[n].checked=false;
//这里的作用是为了清除上一次被选中的项
}
if(j==n+1){
k[n].checked=true;
// n=n+1;
// k[n-2].checked=false;
}//代码运行到这里,但你在输入框输入一个数字时,比如2。就会有对应的选项被选中;
//而当再次输入另一个数字,比如4,确认后,2的选项就会清除,也就是4之前的选项就会清除
//我的代码其实不是最优化的,你可以看其他同学的有些效果看起来更明了些,我只是习惯记录自己写代码的思路,就会注释很多代码而没有删掉可以用啊!看下我的代码:(任务一上的注释)
<!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.getElementsByName("hobby");
for(var i=0;i<hobby.length;i++){
hobby[i].checked=true;
}
//这里可以用byname,例子用tagname是为了使用三种不同方法
// 任务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(j==1){
// document.getElementById("hobby1").checked=true;
// }
// else if(j==2){
// document.getElementById("hobby2").checked=true;
// }
// else if(j==3){
// document.getElementById("hobby3").checked=true;
// }
// else if(j==4){
// document.getElementById("hobby4").checked=true;
// }
// else if(j==5){
// document.getElementById("hobby5").checked=true;
// }
// else{
// document.getElementById("hobby6").checked=true;
// }
var k=document.getElementsByName("hobby");
for(var n=0;n<k.length;n++){
if(k[n].checked=true){
k[n].checked=false;
}
if(j==n+1){
k[n].checked=true;
// n=n+1;
// k[n-2].checked=false;
}
}
}
</script>
</body>
</html>可以,不过如若用document.getElementsByName("hobby"),得自己提前在标签里面加入name属性,代码的使用量会增加,自己得一个个的去添加name属性,不过直接使用name属性的话,自己对于自己的代码也会很清楚,很容易进行项目命名,显得比较清晰。所以具体使用哪个,需要自己去进行判断考虑。。小小拙见,如果有什么不对的地方,请见谅。