章节
问答
课签
笔记
评论
占位
占位

区别getElementByID,getElementsByName,getElementsByTagName

以人来举例说明,人有能标识身份的身份证,有姓名,有类别(大人、小孩、老人)等。

1. ID 是一个人的身份证号码,是唯一的。所以通过getElementById获取的是指定的一个人。

2. Name 是他的名字,可以重复。所以通过getElementsByName获取名字相同的人集合。

3. TagName可看似某类,getElementsByTagName获取相同类的人集合。如获取小孩这类人,getElementsByTagName("小孩")。

把上面的例子转换到HTML中,如下:

<input type="checkbox" name="hobby" id="hobby1">  音乐

input标签就像人的类别。

name属性就像人的姓名。

id属性就像人的身份证。

方法总结如下:

注意:方法区分大小写

通过下面的例子(6个name="hobby"的复选项,两个按钮)来区分三种方法的不同:

  <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">  跑步 
  <input type="button" value = "全选" id="button1">
  <input type="button" value = "全不选" id="button1">

1. document.getElementsByTagName("input"),结果为获取所有标签为input的元素,共8个。

2. document.getElementsByName("hobby"),结果为获取属性name="hobby"的元素,共6个。

3. document.getElementById("hobby6"),结果为获取属性id="hobby6"的元素,只有一个,"跑步"这个复选项。

 

 

 

任务

1.在第27行处补充完整,实现当点击"全选"按钮时,将选中所有的复选项。

提示:document.getElementsByTagName("input")获取的是所有input标签,包括复选项和按钮,所以要判断是否是复选项,如是选中。

2.在第33行处补充完整,实现当点击"全不选"按钮时,将取消所有选中的复选项。

3.在第40行处补充完整,在文本框中输入输入1-6数值,当点击"确定"按钮时,根据输入的数值,通过id选中相应的复选项。

?不会了怎么办

<!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(i = 0;i < hobby.length;i++){
                    if(hobby[i].type == "checkbox"){
                      hobby[i].checked = true;   }
                  }
        }
        function clearall(){
            var hobby = document.getElementsByName("hobby");
            for(i = 0;i < hobby.length;i++){
                hobby[i].checked = false;}
        }        
        function checkone(){
            var j=document.getElementById("wb").value;
            var hobby = document.getElementById("hobby"+j);
            hobby.checked = true;    }        
        </script>
    </body>
</html>

||
1
2
<!DOCTYPE HTML>
<html>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
提交
重置代码
||

请验证,完成请求

由于请求次数过多,请先验证,完成再次请求

加群二维码

打开微信扫码自动绑定

您还未绑定服务号

绑定后可得到

  • · 粉丝专属优惠福利
  • · 大咖直播交流干货
  • · 课程更新,问题答复提醒
  • · 账号支付安全提醒

收藏课程后,能更快找到我哦~

使用 Ctrl+D 可将课程添加到书签

邀请您关注公众号
关注后,及时获悉本课程动态

举报

0/150
提交
取消
全部 精华 我要发布

+ 我来回答 回答最高可+2积分

最新回答 / 慕九州6445485
你可以理解为清空文本框的意思,value="" 让文本变成什么都没有。

最新回答 / 阳火锅
<...图片...>不就是id的名字么

最赞回答 / 慕函数7131464
就是一变量名,存放document.getElementsByTagName("input")输出的东西

最新回答 / weixin_慕娘0119250
<!DOCTYPE HTML><html>    <head>        <meta http-equiv="Content-Type" content="text/html; charset=gb2312">        <title>无标题文档</title>    </head>        <body>        <form>          请选择你爱好:<br>...

最新回答 / 十六_____
应该是用来确定所选择的爱好的位置,减1之后就是所选择的爱好的位置了

最新回答 / weixin_慕丝6489054
swict,只运行了一次1.如果两个比较的对象都是int则根据int进行比较2.如果两个比较的对象一个是number一个是字符串且字符串表示的都是数字,则将字符串转换成数字进行比较3.如果两个比较的对象一个是number一个是字符串且字符串表示的不全是数字,则将字符串转换成NAN,NAN无论与任何数值比较都返回false,两个非纯数字的字符串进行比较也返回true,nan=nan4如果两个比较的对象都是纯字符串则按照一个个字符串进行判断比较。

最赞回答 / 常永旺
<!DOCTYPE HTML><html>    <head>        <meta http-equiv="Content-Type" content="text/html; charset=gb2312">        <title>无标题文档</title>    </head>        <body>        <form>          请选择你爱好:<br>...

已采纳回答 / 星之所系
改了后有反应啊<!DOCTYPE HTML><html>    <head>        <meta http-equiv="Content-Type" content="text/html; charset=gb2312">        <title>无标题文档</title>    </head>        <body>        <form>          请选择你爱好:<...

最赞回答 / 樱雪_sakura
<...code...>checkall 和 clearall 完全可以合并成一个函数,传个 boolean ,一句话搞定<...code...>

最赞回答 / 醉流年灬飒月
1 获取的是该id里面的内容   2获取的是该id的html    3 获取的是该id节点

最新回答 / 慕斯2554272
为啥要用for循环啊 不用也是可以实现啊

最赞回答 / 方方方_
        <script type="text/javascript">        function checkall(){            var hobby = document.getElementsByTagName("input");          // 任务1             for(var i = 0; i < hobby.length; i++){                hobby[i].checked = true;         ...

+ 我来回答 回答最高可+2积分

最赞回答 / weixin_慕桂英4346352
 var j=document.getElementById("wb").value;先获取输入值然后赋给jvar hobby = document.getElementById("hobby"+j);然后获取hobby的id,你上面输入的数字是几就是hobby几 hobby.checked = true;然后根据id选取你输入的选项
全部 我要发布
最热 最新
只看我的

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

账号登录 验证码登录

遇到问题
忘记密码

代码语言