前端日记,对有类似性质的结点做不用操作

关于通过tagName来获取DOM结点,然后进行具体类型判断,根据获取的元素不同来实现不同的功能

1.type来区分

例子用DOM实现简单的chekbox选项:

先验知识:

通过一个标签获取元素的值,如果是text类型,那么可以用value,否则用innerHTML

type是所有input' 的属性,而checked是所有checkbox的属性,DOM的层级关系

注意程序的鲁棒性,如果用户输入达不到要求的时候,应该做出怎样的提示


<!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");
           
          // 任务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");
            for(var i=0;i<hobby.length;i++)
            {
                hobby[i].checked=false;
            }
         // 任务2    
            
        }
        
        function checkone(){
            var j=document.getElementById("wb").value;
        if(j>=1&&j<=6)
        {
            // 任务3
         var id="hobby"+j;
         var k=document.getElementById(id);
         k.checked=true;
        }
         else
         {
             alert("请输入1-6的数字");
         }
        }
        
        </script>
    </body>

</html>

2.用getAttribute获得具体属性的不同值来区分

<script type="text/javascript">

    var con=document.getElementsByTagName("li");
    for (var i=0; i< con.length;i++){
   var  text=con[i].getAttribute("title");
      if(text!=null)
      {
        document.write(text+"<br>");
      }
    }
 </script>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值