1.定义
文档对象模型(Document Object Model,简称 DOM),是 W3C 组织推荐的处理可扩展标记语言的标准编程接口。
它是一种与平台和语言无关的应用程序接口(API),它可以动态地访问程序和脚本,更新其内容、结构和 www 文档的风格(目前,HTML 和 XML 文档是通过说明部分定义的)。文档可以进一步被处理,处理的结果可以加入到当前的页面。
DOM 是一 种基于树的 API 文档,它要求在处理过程中整个文档都表示在存储器中。
2.本质
DOM可以理解为浏览器把拿到的HTML代码,结构化为一个浏览器可识别并且js可操作的一个模型而已。
3.DOM节点操作
getElementById('list') //元素
getElementByTagName('div') //集合
getElementByClassName('.container') //集合
QueryselectorAll('p') //集合
4.attr和property区别
property是DOM中的属性,修改的是js标准中的属性
修改对象属性,不会体现到html结构中
eg:对象中的name,age,address
attribute是HTNL标签上的特性,修改的是HTML标签上的特性
修改html属性,会改变html结构
注意:两者都可能引起DOM重新渲染
eg:width,height,class,attr-name
5.DOM性能
DOM操作非常“‘昂贵”,避免频繁的DOM操作
对DOM查询做缓存
将频繁操作改为一次操作