【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()

时间: 2024-12-23 13:18:50

【DOM】1.DOM优化的相关文章

javascript JavaScript强化教程——DOM编程性能优化

本文为 H5EDU 机构官方 HTML5培训 教程,主要介绍:JavaScript强化教程 ——DOM编程性能优化 DOM的访问与修改访问DOM元素是有代价的——修改元素侧更为昂贵,因为他会导致浏览器重新计算页面的几何变化.当然,最坏的情况是在循环中访问或修改元素,尤其是对HTML元素几何循环操作.为了让你对DOM编程带来的性能问题有个量化的了解,请看下面的简单实例: function innerHTMLLoop(){ for(var count = 0;count<15000;count++)

【浅谈DOM事件的优化】

浅谈DOM事件的优化 在 JavaScript程序的开发中,经常会用到一些频繁触发的 DOM 事件,如 mousemove.resize,还有不是那么常用的鼠标滚轮事件:mousewheel (在 Firefox 中,滚轮事件为 DOMMouseScroll). 浏览器为了确保这些事件能够及时响应,触发的频率会比较高,具体的触发频率各浏览器虽然有出入,但出入不大.很多时候在需要注重性能的场景下使用这些事件会想各种办法对事件的触发频率进行优化,下面说说我的一些优化方法. mousemove 在拖拽

Virtual DOM 虚拟DOM的理解(转)

作者:戴嘉华 转载请注明出处并保留原文链接( #13 )和作者信息. 目录: 1 前言 2 对前端应用状态管理思考 3 Virtual DOM 算法 4 算法实现 4.1 步骤一:用JS对象模拟DOM树 4.2 步骤二:比较两棵虚拟DOM树的差异 4.3 步骤三:把差异应用到真正的DOM树上 5 结语 6 References 1 前言 本文会在教你怎么用 300~400 行代码实现一个基本的 Virtual DOM 算法,并且尝试尽量把 Virtual DOM 的算法思路阐述清楚.希望在阅读本

org.w3c.dom(java dom)解析XML文档

位于org.w3c.dom操作XML会比较简单,就是将XML看做是一颗树,DOM就是对这颗树的一个数据结构的描述,但对大型XML文件效果可能会不理想 首先来了解点Java DOM 的 API:1.解析器工厂类:DocumentBuilderFactory 创建的方法:DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); 2.解析器:DocumentBuilder 创建方法:通过解析器工厂类来获得 DocumentBu

JavaScript之DOM-9 HTML DOM(HTML DOM概述、常用HTML DOM对象、HTML表单)

一.HTML DOM 概述 HTML DOM 概述 - HTML DOM 定义了用于 HTML 的一系列标准对象,以及访问和处理 HTML 文档的标准方法 - HTML 标签对象化 - 将网页中的每个元素都看作是一个对象 常用 HTML DOM 对象 标准 DOM 与 HTML DOM - HTML 标签对象化 - createElement - appendChild - setAttribute - removeAttribute - nodeName - ... - HTML DOM 提供

DOM系列---DOM操作样式

发文不易,若转载传播,请亲注明出处,谢谢! 一.操作样式 CSS作为(X)HTML的辅助,可以增强页面的显示效果.但不是每个浏览器都能支持最新的CSS能力.CSS的能力和DOM级别密切相关,所以我们有必要检测当前浏览器支持CSS能力的级别. DOM1级实现了最基本的文档处理,DOM2和DOM3在这个基础上增加了更多的交互能力,这里我们主要探讨CSS,DOM2增加了CSS编程访问方式和改变CSS样式信息. DOM一致性检测 功能 版本号 说明 Core 1.0.2.0.3.0 基本的DOM,用于表

dom core,html dom,css dom,jquery 中的dom操作

前端开发中为达到某种目的,往往有很多方法:dom core,html dom,jquery; dom core/jquery主要通过函数调用的方式(getAttribute("属性名")/attr("属性名"))获取属性值, html dom一般利用属性的形式(element.属性名)获取对应属性值,形式相对简洁.此外,针对于css相关的对象,还有css dom 前端开发中的节点有三种:元素节点:文本节点和属性节点 js一般对于dom core和html dom都支

js 字符串转dom 和dom 转字符串

js 字符串转dom 和dom 转字符串 前言: 在javascript里面动态创建标准dom对象一般使用: var obj = document.createElement('div'); 然后再给obj设置一些属性. 但是,在实际使用过程中,有些人可能会想,要是能这样创建标准的dom对象就好了 伪代码:var obj=strToDom('<div id="div_1" class="div1">Hello World!</div>');

DOM以及DOM树

JS有三个部分组成 ES DOM  BOM DOM就是专门操作HTML内容的API DOM分为核心DOM 与 HTML DOM两种,前者能够操作所有结构化文档,后者就对常用的API进行简化 网页中一切在内存中都是以树形结构存储的 存储上下级包含关系最直观的结构 HTML中的每一个元素:元素,属性,文本 都是一个节点对象(Node) document对象是整棵树的根节点 节点对象(Node) 三大属性: 1.nodeType number 专门区分节点的类型: 9 document 1 eleme

DOM编程性能优化学习笔记

参考高性能javascript  javascript编程全解 1)DOM 文档对象模型是一种操作xml和html文档的接口(API),我们可以通过javascript(ECMAScript)访问DOM,访问或者修改DOM的时候会产生开销,接下来讨论如何减少这方面的开销 这里面想到了几种方案 1)减少DOM的访问次数 使用局部变量 2)创建新的节点的时候 clone已经存在的节点  使用能区分元素节点和其他节点的属性  使用选择器API(这3种优化了方法,使用了不同于之前的方法) 3)最小化重绘