美文网首页
web自动化_dom

web自动化_dom

作者: testerPM | 来源:发表于2020-01-08 20:49 被阅读0次

    js不能直接操作html元素,比如要修改元素的样式,需要通过dom对象操作html元素
    js ->dom对象->调用js提供的方法修改元素

    dom(文档对象模型)是用于访问html元素的正式W3标准
    当网页被加载时,浏览器会创建页面的文档对象模型
    通过html dom,可以使用javaScript 访问html文档的所有元素
    通过可编程的对象模型,javaScript可以:
    1.改变页面HTML元素
    2.改变页面HTML属性
    3.改变页面CSS样式对页面中的所有事件做出反应

    window:
    1. 表示浏览器中打开的窗口
    2.JavaScript层级中的顶层对象
    3.windown是document的父节点

    document:
    1.代表窗口中显示的当前文档(页面)
    2.通过document节点可以遍历到文档里所有子节点

    -------------------------------编写js代码------------------------------------------------
    f12->Console控制台编写js代码

    document.getElementById("su");
    <input type=​"submit" value=​"百度一下" id=​"su" class=​"btn self-btn bg s_btn">​
    document
    #document
    var element=document.getElementById("su");
    undefined
    element.setAttribute("value","重置");
    undefined
    

    (1)找到百度一下这个按钮

    document.getElementById("su");
    

    (2)定义变量,接收返回结果

    var element=document.getElementById("su");
    

    (3)调用setAttribute("value","重置");将百度一下 更新为 重置

    element.setAttribute("value","重置");
    
    image.png

    (4)获取元素属性值

    >element.value
    >"重置"
    >
    

    (5)获取元素间的文本值 innerText

    >document.getElementById("ah");
    <a href=​"http:​/​/​www.baidu.com" id=​"ah">​百度一下​</a>​
    >document.getElementById("ah").innerText;
    "百度一下"
    >
    

    -------------------------------------html dom事件------------------------------------

    (1) onload()--当网页加载完成时触发此事件 ----下面这段js代码要放在<script></script>

    <script type="text/javascript">
        window.onload=function(){
        alert("网页已加载完毕才触发functon弹出的我");
    }
    
    </script>  
    
    
    (2)失去焦点---onblur
    
    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8">
        <title>百度一下,你就知道</title>
    <script type="text/javascript">
        window.onload=function(){
            document.getElementById("su").onblur=function(){
                alert("光标要定位在input,否则我就失去了焦点喽")
            }
    
        
    }
      
    </script>  
        
    </head>
    <body>
       <input type="text" name="" id="su">
    </body>
    </html>
    
    

    疑问:上面代码没有实现 失去焦点的效果

    (3)得到焦点---onfocus

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8">
        <title>百度一下,你就知道</title>
    <script type="text/javascript">
        window.onload=function(){
            document.getElementById("su").onfocus=function(){
                alert("得到焦点")
            }
    
        
    }
      
    </script>  
        
    </head>
    <body>
       <input type="text" name="" id="su">
    </body>
    </html>
    
    

    (4)onchange-----改变文本值,当元素的值发生改变,就会触发function()

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8">
        <title>百度一下,你就知道</title>
    <script type="text/javascript">
        window.onload=function(){
            document.getElementById("su").onchange=function(){
                alert("元素的value发生了改变")
            }
    
        
    }
      
    </script>  
        
    </head>
    <body>
       <input type="text" name="" id="su">
    </body>
    </html>
    
    
    

    (5)onclick--单击触发

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8">
        <title>百度一下,你就知道</title>
    <script type="text/javascript">
        window.onload=function(){
            document.getElementById("su").onclick=function(){
                alert("元素被单击")
            }
    
        
    }
      
    </script>  
        
    </head>
    <body>
       <input type="text" name="" id="su">
    </body>
    </html>
    
    
    

    (6)ondblclick()---双击触发

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8">
        <title>百度一下,你就知道</title>
    <script type="text/javascript">
        window.onload=function(){
            document.getElementById("su").ondblclick=function(){
                alert("元素被双击")
            }
    
        
    }
      
    </script>  
        
    </head>
    <body>
       <input type="text" name="" id="su">
    </body>
    </html>
    
    

    (7) onmouseover---当鼠标移动到某元素上时触发

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8">
        <title>百度一下,你就知道</title>
    <script type="text/javascript">
        window.onload=function(){
            document.getElementById("su").onmouseover=function(){
                alert("鼠标移动上来了")
            }
    
        
    }
      
    </script>  
        
    </head>
    <body>
       <input type="text" name="" id="su">
    </body>
    </html>
    
    
                       -----------------------------------作业------------------------------------------
    
    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8">
        <title>百度一下,你就知道</title>
    <script type="text/javascript">
        window.onload=function(){
            document.getElementById("clear").onclick=function(){
                 document.getElementById("user").setAttribute("value","")
                 document.getElementById("pw").value=""
                
            }
           document.getElementById("log").onclick=function(){
                 alert(document.getElementById("user").value)
                 alert(document.getElementById("pw").value)
           }
        
    }
      
    </script>  
        
    </head>
    <body>
     
       用户名:<input type="text" name="username"  value="韬哥" id="user"><br>
       密码:<input type="password" name="pwd"  value="123456" id="pw"><br>
             <input type="button" name="login" value="登录" id="log">
             <input type="button" name="reset" value="重置" id="clear"><br>
       性别: <input type="radio" name="sex"  value="0">男
             <input type="radio" name="sex"  value="1">女<br>
    
       头像:<input type="file" name=""><br>
       住址:<select>
             <option>广东</option>省
            </select>
            <select>
                <option>深圳</option>市
            </select><br>
    
       爱好:<input type="checkbox" name="">篮球
            <input type="checkbox" name="">足球
            <input type="checkbox" name="">看书<br>
    
      备注信息:<textarea rows="50" cols="20">这是我的第一个网页</textarea>
    
    
    </body>
    </html>
    
    
    
    

    疑问:
    1 document.getElementById("user").setAttribute("value","")
    document.getElementById("pw").value=""
    区别:

    2 alert(document.getElementById("user").value)
    alert(document.getElementById("pw").value)
    两个alert?
    3 html不需要语句结束符?

    相关文章

      网友评论

          本文标题:web自动化_dom

          本文链接:https://www.haomeiwen.com/subject/pqgnoctx.html