zoukankan      html  css  js  c++  java
  • 【DOM】1.DOM优化

    1.JS include :DOM BOM ECMA

    2.Browser 分别独立实现dom & JS

    as if two isolated islands

    3.JS操作DOM

    from the island to the other one

    4.DOM性能

    The bridges between islands,charge everytime passing by

    尽量减少过桥次数

    5.innerHTML vs dom method

    webkit:eg, chrome, dom>innerHTML

    others:dom<innerHTML

    二、减少DOM操作

    1.节点克隆

    cloneNode(true)里面也复制,性能较好

    2.访问元素集合

    尽量使用局部变量

    var doc=document

    3.元素节点

    尽量 用只获取元素的节点办法

    childNode->元素节点、文本节点

    children->元素节点

    firstChild

    firstElementChild

    4.选择器API

    利用querySelector、querySelectorAll

    var oul=document.getElementById('ul1');

    var ali=oul.getElementsByTagName('li');

    var ali=document.querySelectorAll('#ul1 li');

    三、DOM与浏览器的关系

    1、重排:改变页面内容

    2、重绘:浏览器显示内容

    (以上两个最耗性能咯)

    3、添加顺序:尽量在appendChild前添加操作

    4、合并dom操作:利用CSSText

    5、缓存布局信息

    6、文档碎片:createDocumentFragment()

    四、DOM与事件

    事件委托

    专门开课

    五、DOM与前端模板

    能更好的对逻辑和视图分离,MVC架构的基础

    jquery.teml()

  • 相关阅读:
    centos免密码登录
    conda3 快速下载python包
    Flink问题及解决方案
    git把项目推送到不同的remote(git地址)
    选择器提取内容
    spark写入mysql
    flume简介及netcat样例
    Spark 读取 Hbase 优化 --手动划分 region 提高并行数
    shell grep正则表达式
    Hibernate持久化
  • 原文地址:https://www.cnblogs.com/yzhen/p/3750545.html
Copyright © 2011-2022 走看看