2026-10-22 15:37:25
DOM(Document Object Model,文档对象模型)是 JavaScript 操作网页内容的核心机制,它将 HTML 文档转化为树状结构(DOM 树),使 JavaScript 能够访问、修改页面元素,实现动态更新。以下是具体操作方法及注意事项:
一、获取 DOM 元素操作元素前需先获取其引用,常用方法包括:
获取元素后,可修改其内容、样式或属性:
textContent:直接设置文本,忽略 HTML 标签。const para = document.querySelector('p');para.textContent = '新文本';
innerText(不推荐):受 CSS 样式影响,可能不返回隐藏文本。
innerHTML:可插入 HTML 字符串,但需防范 XSS 攻击。const container = document.querySelector('.container');container.innerHTML = '<strong>加粗文本</strong>';
直接设置 style 属性:para.style.color = 'red';para.style.fontSize = '20px';
推荐:通过 classList 操作类名:para.classList.add('highlight'); // 添加类para.classList.remove('highlight'); // 移除类para.classList.toggle('active'); // 切换类
setAttribute() / getAttribute():const link = document.querySelector('a');link.setAttribute('href', '
动态增减元素需先创建节点,再插入或移除:
remove()(现代浏览器):const oldPara = document.querySelector('p');oldPara.remove();
removeChild()(兼容旧浏览器):const parent = document.querySelector('.parent');const child = parent.querySelector('.child');parent.removeChild(child);
将脚本放在 <body> 末尾,或监听 DOMContentLoaded 事件:document.addEventListener('DOMContentLoaded', () => { // 操作 DOM 的代码});
减少频繁操作 DOM 引发的重排(Reflow)和重绘(Repaint)。
批量修改样式时,使用 classList 或 cssText 而非逐条设置 style。
避免直接使用 innerHTML 插入用户输入的内容,防止 XSS 攻击。
旧版浏览器可能不支持 classList 或 remove(),需做兼容处理。
DOM 是 JavaScript 与网页交互的桥梁,通过获取、修改、增删元素实现动态效果。掌握核心方法(如 getElementById、querySelector、textContent、classList)并注意性能与安全,即可高效操作 DOM。