• DOM节点操作


    1.CRUD(增,删,改,查):

    • 增,即创建节点:createElement(tagName),

    tagName是需要创建的标签名

        <body>
            <div id="box">
                    <p id="text">it's a nice day!</p>
                   <button id="btn">我是一个按钮</button>
                    <p>我会不会被删掉?</p>
             </div>
            <script type="text/html">
                var box=document.getElementById("box");
                //增,即创建节点(添加一个img标签)
                var img=document.createElement("img");
                //给img标签添加属性
                img.src="./images/pic1.jpg";
                img.width=200;
                img.height=200;
                /*在box最后添加img图片;
                box.appendChild(img);
                */
               /*
               //可以在box任意位置添加img标签
               //在button前添加img标签;
               var btn=document.getElementById("btn");
               box.insertBefore(img,btn);
               */
              //在p标签前添加img标签;
              var text=document.getElementById("text");
              box.insertBefore(img,text);
            </script>
       </body>

    样式:

    <style>
               #box{
                    400px;
                   height: 400px;
                   background-color: pink;
               }
    </style>
    • 删,即删除节点;有两种方法
    <script>
                //删,即删除节点
                var text=document.getElementById("text");
                //方法一,先获取父节点,然后调用removeChild(需要删除的标签名);
                var fatherNode=text.parentNode;
                fatherNode.removeChild(text);
    
                //方法二,直接调用remove()方法
                var btn=document.getElementById("btn");
                btn.remove();
                console.log(fatherNode.children);
    </script> 
    • 复制节点,oldeNode.cloneNode(true);

    想要复制的节点调用函数cloneNode(参数),得到一个新节点,参数是布尔类型,true表示深复制,false表示浅复制

    代码块:

    <script>
                //复制节点, 新节点=要复制的节点.cloneNode(boolean类型的参数);
                var box=document.getElementById("box");
          var newBox=box.cloneNode(false);   //浅复制,只复制一层;
          console.log(newBox);
                var newBox2=box.cloneNode(true);    //深复制,复制全部;
                console.log(newBox2);
    </script>

    运行结果:

    • 插入节点:

    1).父节点.appendChild(新节点),在父节点最后插入一个节点;

    2).父节点.insertBefore(新节点,参考节点);在参考节点前插入,如果参考节点为Null,则在节点最后插入一个节点

     

  • 相关阅读:
    jquey插件开发
    平常问题传送门
    Angular1实战总结01:了不起的$cacheFactory
    node基础15:events模块
    node基础14:连接数据库
    node基础13:异步流程控制
    node基础12:动态网页
    node基础11:接受参数
    node基础10:处理异常
    IOS子视图超过父视图frame后,无法交互响应
  • 原文地址:https://www.cnblogs.com/zhang-jiao/p/9580083.html
Copyright © 2020-2023  润新知