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(子元素)
    内部插入,通常是在谁之前插入的
     
  • 相关阅读:
    emacs 配置
    .Net微服务实践(五)[服务发现]:Consul介绍和环境搭建
    .Net微服务实践(四)[网关]:Ocelot限流熔断、缓存以及负载均衡
    .Net微服务实践(三)[网关]:Ocelot配置路由和请求聚合
    .Net微服务实践(二)[网关]:Ocelot介绍和快速开始
    .Net微服务实践(一)[框架]:微服务框架选型
    研发协同平台持续集成之Jenkins实践
    统一身份认证服务IdentityServer4实践
    DevOps平台架构演进
    ABP框架
  • 原文地址:https://www.cnblogs.com/broue/p/13068652.html
Copyright © 2011-2022 走看看