zoukankan      html  css  js  c++  java
  • dom操作中的创建追加删除

    1.创建一个元素

    document.createElement("标签名")   可以创建动态元素

     <script>
            var arr = ["合肥","南京","上海","北京","杭州"]
            var lists = document.querySelector("#lists");
            for(var i=0;i<arr.length;i++){
                var oli = document.createElement("li")
                oli.innerHTML = arr[i];
                //appendChild() 方法可向节点的子节点列表的末尾添加新的子节点
                lists.appendChild(oli);
            }
            //  利用文档碎片创建元素
            var arr = ["合肥","南京","上海","北京","杭州"]
            var lists = document.querySelector("#lists");
            // 创建一个文档片段
            var fragment = document.createDocumentFragment();
            for(var i=0;i<arr.length;i++){
                var oli = document.createElement("li");
                oli.innerHTML = arr[i];
                fragment.appendChild(oli);
            }
            lists.appendChild(fragment);
        </script>
    利用文档对象创建元素

    1、我们要明白当js操作dom时发生了什么?   

           每次对dom的操作都会触发"重排"(重新渲染界面,发生重绘或回流),这严重影响到能耗,一般通常采取的做法是尽可能的减少 dom操作来减少"重排"        

    2、什么是文档碎片?    document.createDocumentFragment()    一个容器,用于暂时存放创建的dom元素      

    3、文档碎片有什么用?    将需要添加的大量元素  先添加到文档碎片中,再将文档碎片添加到需要插入的位置,大大 减少dom操作,提高性能(IE和火狐比较明显)

    2.元素的替换

    父元素.replaceChild(新,旧)      如果操作的是页面已经存在的执行的是剪切操作

    3.拼接字符串

     var str ="";
            for(var i = 0;i<arr.length;i++){
                str += "<li>" + arr[i] + "</li>";
            }
            lists.innerHTML= str; 
    4.创建元素的插入操作
    (1):父元素.appendChild(子元素)
    在内部的末尾进行追加,通常作为最后一个子元素
    (2):父元素.instrBefor(子元素)
    内部插入,通常是在谁之前插入的
     
  • 相关阅读:
    GPU 加速NLP任务(Theano+CUDA)
    SOJ 1717 Computer (单机任务调度)
    CNN for NLP (CS224D)
    数据分析:中国高校更名历史 Python
    TextRank 自动文摘
    深度学习笔记(十一)网络 Inception, Xception, MobileNet, ShuffeNet, ResNeXt, SqueezeNet, EfficientNet, MixConv
    深度学习笔记(七)SSD 论文阅读笔记简化
    在Windows下编译扩展OpenCV 3.1.0 + opencv_contrib 及一些问题
    win10 + gtx1060 + cuda8.0 + caffe + vs2013 + Tensorflow + PyTorch
    深度学习笔记(二十五)DenseBox & FCOS & PolarMask
  • 原文地址:https://www.cnblogs.com/broue/p/13068652.html
Copyright © 2011-2022 走看看