HTML DOM属性

HTML DOM属性完全指南

HTML DOM属性完全指南

编程小白也能理解的JavaScript DOM属性详解

一、什么是DOM?

DOM(Document Object Model) 是HTML和XML文档的编程接口,它将网页表示为一个由节点和对象组成的结构化树状模型。

想象一下,你的网页是一棵大树:

  • 文档是树根(document对象)
  • HTML元素是树枝(如div、p等)
  • 属性是树叶(如id、class等)
  • 文本内容是树上的果实

DOM不是编程语言,而是允许JavaScript与网页内容交互的标准接口。浏览器根据HTML创建DOM树,然后我们就可以用JavaScript操作这个树。

二、DOM属性基础

DOM属性就像是HTML元素的”特征”或”特性”,用来存储元素的状态和信息。

属性 vs 特性

  • 特性(Attributes) – 写在HTML标签中的,如 <div id=”main” class=”container”>
  • 属性(Properties) – DOM对象上的JavaScript属性,如 element.id 或 element.className

在JavaScript中,我们主要操作的是DOM属性(properties),而不是原始HTML特性(attributes)。

获取属性值

// 获取元素
const element = document.getElementById(“myElement”);

// 获取属性值
const idValue = element.id;
const className = element.className;

设置属性值

// 设置属性值
element.id = “newId”;
element.className = “newClass”;

三、常用DOM属性

1. 内容属性

  • innerHTML – 获取/设置元素的HTML内容(包含标签)
  • textContent – 获取/设置元素的文本内容(忽略标签)
  • innerText – 类似textContent,但会考虑CSS样式(性能较差)
原始文本

2. 表单属性

  • value – 获取/设置表单字段的值
  • checked – 复选框/单选框的选中状态
  • disabled – 禁用状态(true/false)

四、样式与类属性

1. className

className 属性获取或设置元素的class属性值(字符串形式)

element.className = “box active”; // 设置多个类名

2. classList(推荐)

更方便操作类名的现代方法:

element.classList.add(“new-class”); // 添加类
element.classList.remove(“old-class”); // 移除类
element.classList.toggle(“active”); // 切换类
element.classList.contains(“check”); // 检查类是否存在

3. style属性

直接操作元素的CSS样式:

element.style.color = “blue”;
element.style.backgroundColor = “#f0f0f0”;
element.style.fontSize = “20px”;

注意:CSS属性名使用驼峰命名法(如backgroundColor),而不是CSS中的短横线命名(background-color)

五、元素关系属性

用于在DOM树中导航的属性:

  • parentNode – 父节点
  • childNodes – 所有子节点(包括文本节点)
  • children – 所有子元素(仅元素节点)
  • firstChild / firstElementChild
  • lastChild / lastElementChild
  • nextSibling / nextElementSibling
  • previousSibling / previousElementSibling

第一个段落

目标元素

第三个段落

带有”Element”的属性返回元素节点,不带的返回所有类型节点(包括文本节点)。

六、自定义属性(data-*)

HTML5允许我们自定义属性,以data-开头,用于存储元素相关的额外信息。

HTML中使用

<div id=”user” data-user-id=”123″ data-role=”admin”>用户信息</div>

JavaScript访问

  • dataset属性 – 获取所有自定义属性
  • dataset.keyName – 访问特定属性
const user = document.getElementById(“user”);
const userId = user.dataset.userId; // “123”
const role = user.dataset.role; // “admin”

// 设置新属性
user.dataset.status = “active”;
自定义数据元素

自定义属性名称在JavaScript中使用驼峰命名法(data-user-id → userId)

HTML DOM属性完全指南 © 2023 | 编程小白也能轻松理解

提示:在浏览器中打开控制台(按F12)查看JavaScript执行结果

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部