JavaScript DOM 属性
什么是 DOM 属性?
DOM(Document Object Model)属性是网页元素的特性,通过 JavaScript 可以获取和修改这些属性,从而动态改变网页内容、样式和行为。DOM 属性允许我们访问和操作 HTML 元素的各种特征,如文本内容、CSS 样式、元素尺寸等。
基础概念
DOM 属性是 JavaScript 访问 HTML 元素各种特性的接口,通过属性我们可以"读取"和"修改"元素的状态。
常用 DOM 属性
1. 内容操作属性
这些属性允许我们获取和设置元素的文本内容或 HTML 内容:
innerHTML
innerHTML
属性获取或设置元素内部的 HTML 内容。
// 获取内容
const content = document.getElementById("myDiv").innerHTML;
// 设置内容
document.getElementById("myDiv").innerHTML = "<b>新的HTML内容</b>";
textContent
textContent
属性获取或设置元素的文本内容(不包含 HTML 标签)。
// 获取文本
const text = document.getElementById("myDiv").textContent;
// 设置文本
document.getElementById("myDiv").textContent = "这是纯文本内容";
innerText
innerText
类似 于 textContent
,但它会考虑 CSS 样式,只返回可见文本。
document.getElementById("myDiv").innerText = "这是通过innerText设置的文本";
注意
使用 innerHTML
设置内容时可能存在安全风险(XSS攻击),处理用户输入时应优先考虑使用 textContent
。
2. 属性操作方法
使用 getAttribute() 和 setAttribute()
这些方法用于获取和设置元素的 HTML 属性:
// 获取属性
const href = document.getElementById("myLink").getAttribute("href");
// 设置属性
document.getElementById("myLink").setAttribute("href", "https://example.com");
document.getElementById("myImage").setAttribute("alt", "一张示例图片");
直接访问属性
很多常见属性可以直接通过点符号访问:
// 获取和设置元素的id
const elementId = document.getElementById("myElement").id;
document.getElementById("myElement").id = "newId";
// 获取和设置元素的类名
const className = document.getElementById("myElement").className;
document.getElementById("myElement").className = "new-class";