• 前端开发之JavaScript HTML DOM理论篇二


    主要内容:

     1、HTML DOM元素

     2、HTML DOM事件

    一、DOM元素

      主要操作有添加、删除和替换HTML元素

      1、创建新的HTML元素 

       (1)方法一: appendChild() 追加

      如需向 HTML DOM 添加新元素,您首先必须创建该元素,然后把它追加到已有的元素上。

      实例和解析: 

    <div id="box1">
        <p id="p1">This is first paragraph.</p>
        <p id="p1">This is second paragraph.</p>
    </div>
    
    <script>
        // 创建一个新的<p>元素
        var para = document.createElement("p");    
    
        // 如需向<p>元素添加文本,你要首先创建文本节点,以下这句即为创建文本节点
        var node = document.createTextNode("This is new!");
    
        // 接下来,你要将文本节点追加到<p>元素中
        para.appendChild(node);    
        
       // 最后,要向已有的元素中追加这个元素,先查找到这个元素
       var element = document.getElementById("box1"); 
     
       // 将新元素添加到已有的元素中
       element.appendChild(para);
       
    </script>

      (2)方法二:insertBefore(new,old) 插入

      实例:

    <div id="box1">
    <p id="p1">This is a paragraph.</p>
    <p id="p2">This is another paragraph.</p>
    </div>
    
    <script>
    var para = document.createElement("p");// 创建一个新的<p>元素
    var node = document.createTextNode("This is another one!"); // 创建文本节点
    para.appendChild(node); // 向<p>中追加文本节点
    
    var element = document.getElementById("box");// 查找<p>节点的父节点
    var child = document.getElementById("p1"); // 找到<p>节点的同胞节点
    element.insertBefore(para,child);// 将新创建的<p>节点插入到id为p1的同胞节点之前

      2、删除已有的HTML元素

        如需删除HTML元素,你需要知道该元素的父元素。

        实例:  

    <div id="box1">
    <p id="p1">This is a paragraph.</p>
    <p id="p2">This is another paragraph.</p>
    </div>
    
    <script>
        // 获取父元素
        var parent = document.getElementById("box1"); 
        // 获取要删除的元素
        var child = document.getElementById("p1");
        // 删除该元素
        parent.removeChild(child);
    </script>

        简略方法:找到您需要删除的子元素,然后使用 parentNode 属性来查找其父元素

    var child = document.getElementById("p1");
    child.parentNode.removeChild(child); // child.parentNode表示child的父元素

      3、替换HTML元素

          如需替换 HTML DOM 中的元素,请使用 replaceChild(new,old) 方法: 

    <div id="box1">
        <p id="p1">This is a paragraph.</p>
        <p id="p2">This is another paragraph.</p>
    </div>
    
    <script>
        var para = document.createElement("p");
        var node = document.createTextNode(" This is new new !");
        para.appendChild(node);
        
        var parent = document.getElementById("box1");
        var child = document.getElementById("p2");
        parent.replaceChild(para,child);
    </script>

     

    二、HTML DOM事件

      HTML DOM 允许 JavaScript 对 HTML 事件作出反应。

      1、对事件做出反应

        当事件发生时,可以执行 JavaScript,比如当用户点击一个 HTML 元素时。

        如需在用户点击某个元素时执行代码,请把 JavaScript 代码添加到 HTML 事件属性中:
        

    onclick = javaScript

        实例:    

    // 当用户点击时,会改变 <h2> 元素的内容
    <!DOCTYPE HTML>
    <html lang="en">
    <head>
        <meta charset="utf-8">
    </head>
        <body>
        <h2 onclick = "this.innerHTML='hello!'">请点击这段文本!有惊喜...</h2>
       </body>
    </html>

        另一种写法 --- 从事件处理程序中调用函数 

    <!DOCTYPE HTMLl>
    <html lang="en">
    <head>
        <meta charset="utf-8">
    <script>
        function changeText(id){
        id = innnerHTML = "hello world!";
    }
    </script>
    </head>
    <body>
    <h2 onclick="changetext(this)">请点击这段文本!</h2>
    </body>
    </html>

     

      2、HTML 事件属性

        如需向 HTML 元素分配事件,您可以使用事件属性。

        实例 --- 当点击按钮时,会执行名为 displayDate 的函数。  

    <!DOCTYPE html>
    <html>
    <body>
    
    <p>点击按钮来执行 <strong>displayDate()</strong> 函数。</p>
    
    <button onclick="displayDate()">试一试</button>
    <p id="demo"></p>
    
    </body>
    <script>
    function displayDate()
    {
        document.getElementById("demo").innerHTML = Date();
    }
    </script>
    </html>

     

       3、使用 HTML DOM 来分配事件

        HTML DOM 允许您使用 JavaScript 向 HTML 元素分配事件。

      实例: 

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8">
    </head>
    <body>
    
    <p>点击按钮来执行 <b>displayDate()</b> 函数。</p>
    <button id=“myBtn”>试一试</button>
    
    <p id="demo"></p>
    
    </body>
    <script>
    document.getElementById("myBtn").onclick=function(){
        displayDate();
    }
    function displayDate(){
        document.getElementbyId("demo").innerHTML = Date();
    }
    </script>
    </html>

     

      4、onload 和 onunload 事件

           当用户进入或离开页面时,会触发 onload 和 onunload 事件。

      onload 事件可用于检查访客的浏览器类型和版本,以便基于这些信息来加载不同版本的网页。

      onload 和 onunload 事件可用于处理 cookies。 

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="utf-8">
    </head>
    <body onload="checkCookies()">
    
    <p>弹出的提示框会告诉你浏览器是否已启用 cookie。</p>
    </body>
    <script>
        function checkCookies(){
        if(navigator.cookieEnabled == true)
        {
            alert("Cookies are enabled");
        }
        else
        {
            alert("Cookies are not enabled");
        }
    }
    </script>
    </html>

     

      5、onchange 事件

            onchange事件常用于输入字段的验证。

            实例 --- 当用户改变输入字段的内容时,将调用 upperCase() 函数。 

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="utf-8">
    </head>
    <body>
    
    请输入你的英文名:<input type="text" id="fname" onchange="myFunction()">
    <p>当你离开输入框时,被触发的函数会把你输入的文本转换为大写字母。</p>
    </body>
    <script>
        function myFunction(){
            var a = document.getElementById("fname");
            a.value = a.value.toUpperCase();
    }
    </script>
    </html>

      6、onmouseover 和 onmouseout 事件

        onmouseover 和 onmouseout 事件可用于在鼠标指针移动到或离开元素时触发函数。

        实例:    

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="utf-8">
    </head>
    <body>
    </body>
    <div
    onmouseover="mOver(this)"
    onmouseout="mOut(this)"
    style="background-color:greenyellow;200px;height:50px;padding-top:25px;text-align:center;">
    Mouse Over Me
    </div>
    <script>
        function mOver(obj){
            obj.innerHTML = "Thank you!";
            obj.style.backgroundColor = "red";
        }
        function mOut(obj){
            obj.innerHTML  = "move here!";
            obj.style.backgroundColor = "greenyellow";
        }
    </script>
    </html>

      

      7、onmousedown、onmouseup 以及 onclick 事件

        onmousedown、onmouseup 以及 onclick 事件是鼠标点击的全部过程。首先当某个鼠标按钮被点击时,触发 onmousedown 事件,

      然后,当鼠标按钮被松开时,会触发 onmouseup 事件,最后,当鼠标点击完成时,触发 onclick 事件。

      实例:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="utf-8">
    </head>
    <body>
    <div onmousedown="mDown(this)" onmouseup="mUp(this)" style="background-color:#D94A38;200px;height:50px;padding-top:25px;text-align:center;">
    点击这里
    </div>
    </body>
    <script>
        function mDown(obj){
           obj.style.backgroundColor = "green";
           obj.innerHTML = "松开鼠标";
    }
        function mUp(obj){
            obj.style.backgroundColor = "yellow";
            obj.innerHTML = "谢谢!";
        }
    </script>
    </html>

    返回顶部

  • 相关阅读:
    python之attrgetter函数对对象排序
    python之itemgetter函数:对字典列表进行多键排序
    python之异常处理
    selenium之截图
    selenium之调用Javascript
    selenium之下载
    selenium之测试卫星资料页面操作(元素遍历)
    selenium之测试角色管理页面举例
    selenium之封装登陆操作
    selenium之安装和登陆操作举例
  • 原文地址:https://www.cnblogs.com/schut/p/9503341.html
Copyright © 2020-2023  润新知