返回

DOM基本功,到底有多重要?

前端

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的基本操作包括节点选择器、节点属性操作、节点样式操作等。事件流了事件从产生到被处理的过程。事件处理程序是处理事件的函数。事件的防抖和节流是两种常用的优化网页性能的技术。