zoukankan      html  css  js  c++  java
  • 操作don树

    1.appendChild()方法 效果类似于剪切的

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>操作dom树</title>
        <style type="text/css">
        #div1{
          width:200px;
          height:150px;
          border:2px solid red;
        }
        #div2{
            width: 250px;
            height: 150px;
            border: 5px dashed gray;
        }
    </style>
    </head>
    <body>
        <div id="div1">
        <ul id="ulidl">
            <li>黑云压城城欲摧</li>
            <li>甲光金鳞向日开</li>
            <li>但使龙城飞将在</li>
            <li>不教胡马度阴山</li>
        </ul>
        </div>
        <div id="div2"></div>
        <input type="button" value="添加" onclick="add11();">
        <script type="text/javascript">    
        function add11(){
        //获取div2的节点标签
        var div2 = document.getElementById("div2");
        //先获取ul节点标签
        var ul1 = document.getElementById("ulidl");    
        //将ul节点标签添加到div2节点下
        div2.appendChild(ul1);
        }
        </script>
    </body>
    </html>

     对节点操作前效果:

    对节点操作后效果:


    2.insertBefore(newNode,oldNode)方法  在某个节点之前插入一个新的节点

    第一个参数为要插入的新节点   第二个参数为参照节点(新节点插入在此节点之前)

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>操作dom对象二</title>
    </head>
    <body>
        <ul id="ulid2">
            <li id="lil1">西施</li>
            <li id="lil2">貂蝉</li>
            <li id="lil3">杨玉环</li>
            <li id="lil4">王昭君</li>
        </ul>
        <input type="button" value="添加" onclick="insert1();">
        <script type="text/javascript">
        //1.获取到lil3标签
        //2.创建li
        //3.创建文本
        //4.把文本添加到li下面
        //5.获取到ul
        //6.把li添加到ul下面在貂蝉之前
        function insert1(){
            //获取到lil3标签
            var li3 = document.getElementById("lil3");
            //创建li
            var li5 = document.createElement("li");
            //创建文本
            var texts = document.createTextNode("董小宛");
            //把文本添加到li下面
            li5.appendChild(texts);
            //获取到ul
            var ul2 = document.getElementById("ulid2");
            //在<li>貂蝉<li/>之前添加 <li>董小宛<li/>
            ul2.insertBefore(li5,li3);
        }
        </script>
    </body>
    </html>

    操作前:

    操作后:


    3.removeChild()删除子节点

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>操作dom树三</title>
    </head>
    <body>
        <ul id="ulid">
            <li id="liid1">沉鱼落雁</li>
            <li id="liid2">闭月羞花</li>
            <li id="liid3">翩若惊鸿</li>
            <li id="liid4">婉若游龙</li>
        </ul>
        <!-- 
            删除翩若惊鸿
            1.获取到ul标签
            2.获取liid3子标签
            3.调用removeChild方法删除ul标签的子节点标签翩若惊鸿
        -->
        <input type="button" value="点我" onclick="removes();">
        <script type="text/javascript">
            function removes(){
                var ul = document.getElementById("ulid");
                var li3 = document.getElementById("liid3");
                ul.removeChild(li3);
            }
        </script>
    </body>
    </html>

    删除前:

     删除后:


    4.replaceChild()替换子节点

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>操作dom树对象四</title>
    </head>
    <body>
        <ul id="ulid">
            <li id="liid1">沉鱼落雁</li>
            <li id="liid2">闭月羞花</li>
            <li id="liid3">翩若惊鸿</li>
            <li id="liid4">婉若游龙</li>
        </ul>
        <input type="button" value="点我" onclick="replaces();">
        <!-- 
            替换子节点liid1标签
            1.获取ul标签
            2.获取liid1标签
            3.创造li标签
            4.创造文本
            5.将文本添加到li标签中
            6.将标签替换
         -->
        <script type="text/javascript">
            function replaces(){
                //获取ul标签
                var ul = document.getElementById("ulid");
                var li1 = document.getElementById("liid1");
                var li5 = document.createElement("li");
                var texts = document.createTextNode("荣耀秋菊,华若春松");
                li5.appendChild(texts);
                ul.replaceChild(li5,li1);
            }
        </script>
    </body>
    </html>

    替换前:

    替换后:


    5.cloneNode()复制节点

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>操作dom树五</title>
    </head>
    <body>
        <ul id="ulid">
            <li id="liid1">谁知林栖者</li>
            <li id="liid2">闻风坐相悦</li>
            <li id="liid3">草木有本心</li>
            <li id="liid4">何求美人折</li>
        </ul>
        <div id="div"></div>
        <input type="button" value="clone" onclick="clones();">
        <!-- 
            复制ul标签中的元素到div标签中
            1.先获得ul标签
            2.获得div标签
            3.用一个副本接收复制的ul标签
            4.将副本插入到div中
         -->
        <script type="text/javascript">
            function clones(){
            var ul = document.getElementById("ulid");
            var div = document.getElementById("div");
            var copyul = ul.cloneNode(true);
            div.appendChild(copyul);
            }
        </script>
    </body>
    </html>

    替换前:

    替换后:

  • 相关阅读:
    7月的尾巴,你是XXX
    戏说Android view 工作流程《下》
    “燕子”
    Android开机动画bootanimation.zip
    戏说Android view 工作流程《上》
    ViewController里已连接的IBOutlet为什么会是nil
    My first App "Encrypt Wheel" is Ready to Download!
    iOS开发中角色Role所产生的悲剧(未完)
    UIScrollView实现不全屏分页的小技巧
    Apple misunderstood my app,now my app status changed to “In Review”
  • 原文地址:https://www.cnblogs.com/zjm1999/p/10429089.html
Copyright © 2011-2022 走看看