返回
DOM基本功,到底有多重要?
前端
2024-02-02 16:26:36
DOM介绍
DOM(Document Object Model)是一个用于表示和操作HTML和XML文档的API。它将HTML文档表示为一个对象树,每个节点都对应文档中的一个元素。DOM允许我们通过JavaScript来操作文档中的元素,从而实现各种各样的交互效果。
DOM基本操作
节点选择器
DOM提供了多种节点选择器,用于选择文档中的元素。最常用的选择器有:
getElementById()
: 根据元素的id属性选择元素。getElementsByTagName()
: 根据元素的标签名选择元素。getElementsByClassName()
: 根据元素的类名选择元素。querySelector()
: 根据CSS选择器选择元素。querySelectorAll()
: 根据CSS选择器选择所有匹配的元素。
节点属性操作
DOM允许我们通过JavaScript来操作节点的属性。最常用的属性操作有:
setAttribute()
: 设置节点的属性值。getAttribute()
: 获取节点的属性值。removeAttribute()
: 删除节点的属性。
节点样式操作
DOM允许我们通过JavaScript来操作节点的样式。最常用的样式操作有:
style.setProperty()
: 设置节点的样式属性值。style.getPropertyValue()
: 获取节点的样式属性值。style.removeProperty()
: 删除节点的样式属性。
事件流
当用户在网页上进行操作时,浏览器会产生事件。事件可以是鼠标点击、键盘按下、页面加载等。事件流了事件从产生到被处理的过程。
事件流有三个阶段:
- 捕获阶段:事件从文档的根节点开始向下传播,直到到达目标元素。
- 目标阶段:事件到达目标元素,并被目标元素处理。
- 冒泡阶段:事件从目标元素向上传播,直到到达文档的根节点。
事件处理程序
事件处理程序是处理事件的函数。事件处理程序可以绑定到任何元素上。当该元素产生事件时,事件处理程序就会被调用。
事件处理程序可以通过以下方式绑定到元素上:
addEventListener()
: 添加事件处理程序。removeEventListener()
: 删除事件处理程序。
事件的防抖和节流
事件的防抖和节流是两种常用的优化网页性能的技术。
- 防抖:防抖可以防止事件在短时间内被重复触发。
- 节流:节流可以限制事件在一段时间内只被触发一次。
防抖和节流可以通过JavaScript实现。
总结
DOM是操作HTML和XML文档的API。DOM的基本操作包括节点选择器、节点属性操作、节点样式操作等。事件流了事件从产生到被处理的过程。事件处理程序是处理事件的函数。事件的防抖和节流是两种常用的优化网页性能的技术。