VuePressVuePress
首页
  • 基础
  • UI
  • JavaScript
  • CSS
  • postcss
  • Vue3
  • Vue的设计与实现
  • 前端常用插件
  • PHP
  • Laravel
  • Linux
  • 线性代数
Category
AI
jiyun
Timeline
首页
  • 基础
  • UI
  • JavaScript
  • CSS
  • postcss
  • Vue3
  • Vue的设计与实现
  • 前端常用插件
  • PHP
  • Laravel
  • Linux
  • 线性代数
Category
AI
jiyun
Timeline
  • 基础知识

    • 基础知识
    • promise简介
    • promise1
    • promise2
    • 点语法和方括号语法的区别
    • 常用字符串数组过滤函数
  • 全局对象

    • 数组
    • 对象
    • 字符串
  • dom

    • HTMLElement和Node有何不同
      • Node
      • HTMLElement
      • 区别总结
  • 字符串

    • 字符串截取导致的BUG
  • 媒体查询

    • 媒体查询
  • WebWorker

    • Web Worker

HTMLElement 和 Node分别表示什么,它们有何不同?

在HTML和DOM(文档对象模型)中,Node 和 HTMLElement 是两个重要的接口,它们在构建和操作HTML文档时扮演着不同的角色。

Node

Node 是 DOM 中的基本类型,它表示DOM树中的每个节点。 所有的DOM节点类型都继承自 Node 接口。 Node 包含了一些通用的属性和方法,适用于各种不同类型的节点。 以下是一些常见的节点类型:

  • Element: 表示元素节点,例如 <div>,<p> 等。
  • Text: 表示文本节点,即元素中的文本内容。
  • Comment: 表示注释节点,即 <!-- 注释 -->。
  • Document: 表示整个文档节点,即 document 对象。
  • DocumentFragment: 表示文档片段节点,可以包含一组节点。

一些 Node 接口的常用属性和方法包括:

  • nodeName: 返回节点的名称。
  • nodeType: 返回节点的类型(数值表示)。
  • childNodes: 返回子节点的 NodeList。
  • parentNode: 返回父节点。
  • appendChild(): 向节点添加子节点。
  • removeChild(): 移除节点的子节点。

HTMLElement

HTMLElement 是一个接口,继承自 Element 接口,而 Element 又继承自 Node 接口。 HTMLElement 表示所有 HTML 元素,是具体化的 Element 类型。 它专门用于表示HTML文档中的元素,并提供了专门针对HTML元素的属性和方法。

一些 HTMLElement 接口的常用属性和方法包括:

  • id: 元素的唯一标识符。
  • className: 元素的类名(可包含多个类,用空格分隔)。
  • innerHTML: 元素的HTML内容。
  • style: 元素的内联样式。
  • click(): 模拟用户点击元素。

区别总结

抽象程度不同:

  • Node 是更基础、更抽象的接口,表示DOM树中的任意节点。
  • HTMLElement 是更具体的接口,表示HTML文档中的元素节点。

适用范围不同:

  • Node 适用于所有类型的节点,包括元素、文本、注释、文档等。
  • HTMLElement 只适用于HTML元素。

提供的属性和方法不同:

  • Node 提供了节点间通用的属性和方法。
  • HTMLElement 提供了特定于HTML元素的属性和方法,适用于操作HTML元素的样式、内容、属性等。

通过理解 Node 和 HTMLElement 的区别,可以更有效地操作和管理DOM中的各种节点和HTML元素。

Last Updated:
Contributors: BaronYan