• JS DOM


    <!DOCTYPE html>
    <html>
    <head lang="en">
        <meta charset="UTF-8">
        <title></title>
        <script type="text/javascript">
            /*
            1.获取元素节点
            1)直接获取
                【1】document.getElementById()
                【2】document.getElementByName()
                【3】document.getElementByTagName()
             */
            function getEle(){
                var obj = document.getElementById("sec");
                console.log(typeof obj);
                console.log(obj);
            }
    
            window.setInterval(getEles,1000);
            function getEles(){
                var sec = document.getElementById("sec").innerHTML;
                var number = parseInt(sec);
                document.getElementById("sec").innerHTML = --number;
                if(sec==0){
                   window.close();
                }
    
            }
    
            function getEle2(){
                //获取的是一个数组
                var obj = document.getElementsByName("fav");
                console.log(obj)
            }
    
            function getEle3(){
                var obj = document.getElementsByTagName("input");
                console.log(obj);
           }
    
            /*
            2)间接获取
                父子关系
                childNodes firstChild lastChild
                子父关系
                parentNode
                兄弟关系
                nextSibling previousSibling
            */
            function getEle4(){
                var father = document.getElementById("regForm");
                var sons = father.childNodes;
                console.log(sons[1]);
            }
    
            function getEle5(){
                var sons = document.getElementById("userid");
                console.log(sons.parentNode);
            }
    
            function getEle6(){
                var bro = document.getElementById("userid");
                console.log(bro.nextSibling.nextSibling);
                console.log(bro.previousSibling);
            }
    
            /*
            * 2.操作属性节点
            *1)通过对象“.”属性
            *   优点:可以动态获取用户修改的属性值
            *   缺点:不能获取自定义属性的值
            * 2)getAttribute  setAttribute  removeAttribute
            *   优点:可以获取自定义属性的值
            *   缺点:不能动态获取用户修改的属性值
            *   */
    
    
            function getField1(){
                var obj = document.getElementById("nickid");
                console.log(obj.type);
    
    //            obj.type = "password";
            var objval = obj.getAttribute("abcd");
            var objval2 = obj.setAttribute("abcd",5678);
            }
            /*
             * 3.处理文本节点
             *1)通过对象.innerText获取标签内部的文本信息
             * 2)通过对象.innerHTML获取标签内部的HTML代码
             * */
            function getText1(){
               var myDiv = document.getElementById("myDiv")
                console.log(myDiv.innerText);
    
            }
    
            function getText2(){
                var myDiv = document.getElementById("myDiv")
                console.log(myDiv.innerHTML);
    
            }
            function getText3(){
                var myDiv = document.getElementById("myDiv")
                myDiv.innerText = "<img src='1.jpg'/>";
    
            }
            function getText4(){
                var myDiv = document.getElementById("myDiv")
                myDiv.innerHTML = "<img src='webp.jpg' height='200px' width='200px'/>";
    
            }
    
        </script>
    </head>
    <body>
    
    <button onclick="getEle()">点我测试!</button>
    <button onclick="getEle2()">点我测试2!</button>
    <button onclick="getEle3()">点我测试3!</button>
    <button onclick="getEle4()">点我测试4!</button>
    <button onclick="getEle5()">点我测试5!</button>
    <button onclick="getEle6()">点我测试6!</button>
    <hr/>
    <button onclick="getField1()">属性测试1!</button>
    <hr/>
    <button onclick="getText1()">文本测试1!</button>
    <button onclick="getText2()">文本测试2!</button>
    <button onclick="getText3()">文本测试3!</button>
    <button onclick="getText4()">文本测试4!</button>
    <form id="regForm">
        用户名:<input id="userid" type="text" name="username"/><br/>
        密码:<input type="password" name="password"><br/>
        昵称:<input id="nickid" type="text" name="nickname" abcd="1234"><br/>
        性别:男<input type="radio" name="gender" value="nan">&nbsp;
              女<input type="radio" name="gender" value="nv"><br/>
        爱好:狗<input type="checkbox" name="fav" value="dog"><input type="checkbox" name="fav" value="cat"><br/>
        <input type="submit" value="注册">;
    
    </form>
    页面将在<span id="sec">1000</span>s后关闭
    
    
    <p id="myDiv">hello</p>
    </body>
    <!DOCTYPE html>
    <html>
    <head lang="en">
        <meta charset="UTF-8">
        <title></title>
        <script type="application/javascript">
            /*
            4.动态改变DOM结构
            1)创建一个节点对象
            document.createElement("标签名")
            2)(父节点)追加子节点对象
            fatherNode.appendChild("子节点对象")
            3)(父节点)在指定节点前添加子节点
            fatherNode.insertBefore(新节点对象参考节点对象)
            4)(父节点)替换旧的子节点对象
            fatherNode.replaceChild(新节点对象,旧节点对象)
            5)(父节点)删除旧的子节点对象
            fatherNode.removeChild(旧节点对象)
    
            .
            * */
            function changeDom1(){
                var ipt = document.createElement("input");
                ipt.type = "text";
            }
            function changeDom2(){
                var father = document.getElementById("regForm");
    
                var ipt = document.createElement("input");
                ipt.type = "text";
                father.appendChild(ipt);
    
            }
            function changeDom3(){
                var father = document.getElementById("regForm");
                //参考节点
                var refNode = document.getElementById("brid");
    
                var ipt = document.createElement("input");
                ipt.type = "text";
                father.insertBefore(ipt,refNode);
            }
            function changeDom4(){
                var father = document.getElementById("regForm");
                //参考节点
                var refNode = document.getElementById("brid");
    
                var ipt = document.createElement("input");
                ipt.type = "text";
                father.replaceChild(ipt,refNode);
            }
    
            function changeDom5(){
                var father = document.getElementById("regForm");
                var refChild = document.getElementById("nickid");
                father.removeChild(refChild);
            }
    
    
        </script>
    </head>
    <body>
    <button onclick="changeDom1()"> 创建节点</button>
    <button onclick="changeDom2()"> 追加子节点对象</button>
    <button onclick="changeDom3()"> 插入子节点对象</button>
    <button onclick="changeDom4()"> 替换子节点对象</button>
    <button onclick="changeDom5()"> 删除子节点对象</button>
    <hr/>
    <form id="regForm">
        用户名:<input id="userid" type="text" name="username"/><br/>
        密码:<input type="password" name="password"><br id="brid"/>
        昵称:<input id="nickid" type="text" name="nickname" abcd="1234"><br/>
        性别:男<input type="radio" name="gender" value="nan">&nbsp;
        女<input type="radio" name="gender" value="nv"><br/>
        爱好:狗<input type="checkbox" name="fav" value="dog"><input type="checkbox" name="fav" value="cat"><br/>
        <input type="submit" value="注册">
    
    </form>
    <hr/>
    
    <table id="tableid" border="1" style="border-collapse: collapse">
        <tr>
            <td>姓名</td>
            <td>年龄</td>
            <td>性别</td>
            <td>操作</td>
        </tr>
        <tr>
            <td>张三</td>
            <td>18</td>
            <td>男</td>
            <td><a href="javascript:void(0)" onclick="deleteRow(this),confirmDemo()">删除</a> </td>
        </tr>
        <tr>
            <td>李四</td>
            <td>19</td>
            <td>男</td>
            <td><a href="javascript:void(0)" onclick="deleteRow(this),confirmDemo()">删除</a> </td>
        </tr>
    
    </table>
    
    <script type="application/javascript">
        function deleteRow(item){
            var delNode = item.parentNode.parentNode;
            var father = delNode.parentNode;
            father.removeChild(delNode);
        }
        function confirmDemo(){
            confirmDemo("是否确定删除");
        }
    </script>
    
    </body>
    </html>
    </html>
  • 相关阅读:
    尖峰冲击测试(spike Testing)
    mysql返回记录的ROWNUM(转)
    SQL2005四个排名函数(row_number、rank、dense_rank和ntile)的比较
    JUnit编写单元测试代码注意点小结
    Linux下Tomcat的启动、关闭、杀死进程
    linux下oracle11g R2的启动与关闭监听、数据库
    linux下使用yum安装mysql详解
    VC++ 实现文件与应用程序关联
    C++ 去掉字符串首尾的 x20 字符
    VC++ 线程同步 总结
  • 原文地址:https://www.cnblogs.com/cqming/p/10815335.html
Copyright © 2020-2023  润新知