当前位置: 首页 > news >正文

JavaScript中的DOM操作

目录

一. 什么是 DOM?

二. 为什么需要 DOM 操作?

三. 基础 DOM 操作

1. 选择元素

2. 修改内容

3. 修改样式

4. 操作属性

四. 进阶 DOM 操作

1. 创建和插入元素

2. 删除和替换元素

3. 事件处理

五. DOM 操作最佳实践

六. 示例:待办事项列表

总结


一. 什么是 DOM?

DOM(Document Object Model,文档对象模型)是 HTML 和 XML 文档的编程接口。它将文档表示为节点和对象的树结构,使开发者可以用 JavaScript 动态地访问和修改文档的内容、结构和样式。

二. 为什么需要 DOM 操作?

(1)动态更新网页内容,无需刷新页面

(2)响应用户交互(点击、输入等)

(3)实现动态样式变化

(4)构建交互式应用程序

三. 基础 DOM 操作

1. 选择元素

// 通过ID选择
const title = document.getElementById('main-title');// 通过类名选择
const items = document.getElementsByClassName('list-item');// 通过标签名选择
const paragraphs = document.getElementsByTagName('p');// 通过CSS选择器选择单个元素
const header = document.querySelector('header .logo');// 通过CSS选择器选择多个元素
const buttons = document.querySelectorAll('.btn');

2. 修改内容

// 修改文本内容
title.textContent = '新标题';// 修改HTML内容
document.querySelector('.content').innerHTML = '<p>新内容</p>';

3. 修改样式

// 修改单个样式
title.style.color = 'red';
title.style.fontSize = '24px';// 添加/移除类
title.classList.add('highlight');
title.classList.remove('highlight');
title.classList.toggle('active');

4. 操作属性

// 获取属性
const link = document.querySelector('a');
console.log(link.getAttribute('href'));// 设置属性
link.setAttribute('href', 'https://example.com');// 移除属性
link.removeAttribute('target');

四. 进阶 DOM 操作

1. 创建和插入元素

// 创建新元素
const newItem = document.createElement('li');
newItem.textContent = '新项目';// 插入元素
const list = document.querySelector('ul');
list.appendChild(newItem);// 在指定位置插入
const firstItem = list.firstElementChild;
list.insertBefore(newItem, firstItem);

2. 删除和替换元素

// 删除元素
list.removeChild(newItem);// 替换元素
const replacement = document.createElement('li');
replacement.textContent = '替换项';
list.replaceChild(replacement, firstItem);

3. 事件处理

// 添加事件监听器
const button = document.querySelector('#submit-btn');
button.addEventListener('click', () => {alert('按钮被点击了!');
});// 移除事件监听器
function handleClick() {console.log('处理点击事件');
}
button.addEventListener('click', handleClick);
button.removeEventListener('click', handleClick);

五. DOM 操作最佳实践

(1)减少 DOM 查询 - 多次使用的元素应存储在变量中

(2)批量操作 DOM - 使用文档片段减少重绘

(3)使用 CSS 类代替直接修改样式

(4)使用事件委托处理动态添加的元素

(5)注意内存泄漏 - 移除元素前解绑事件监听器

六. 示例:待办事项列表

// HTML: <input id="taskInput"> <button id="addBtn">添加</button> <ul id="taskList"></ul>const input = document.getElementById('taskInput');
const addBtn = document.getElementById('addBtn');
const taskList = document.getElementById('taskList');// 添加任务
addBtn.addEventListener('click', () => {const taskText = input.value.trim();if (taskText) {const li = document.createElement('li');li.textContent = taskText;// 添加删除按钮const deleteBtn = document.createElement('button');deleteBtn.textContent = '删除';deleteBtn.addEventListener('click', () => {li.remove();});li.appendChild(deleteBtn);taskList.appendChild(li);input.value = '';}
});

总结

DOM 操作是现代前端开发的核心技能。掌握它可以让你创建动态、交互式的网页应用。

http://www.dtcms.com/a/457657.html

相关文章:

  • OpenAI DevDay 2025:ChatGPT 进化为平台,开启 AI 应用新纪元
  • 什么是模型微调
  • 郑州网站高端设计游戏官方网站开发设计报告
  • 如何用网站模板建设网站杭州网站建设哪家最好
  • 美团网站除佣金表格怎么做上海大型网站建设公司排名
  • 【C++】异常--学习笔记
  • 【linux内核驱动day05】
  • 富煌钢构:“T+EPC”模式引领钢结构行业变革
  • 前端学习 JavaScript
  • 深圳约的网站设计企业申报系统
  • 吴江盛泽建设局网站一个专门做标题的网站
  • PID公式的部署与选择
  • 拼多多前端面试题及参考答案(200道-下)
  • Symmetric functions and hall polynomials 1.1
  • 深圳seo网站优化广东网约车涨价
  • 【LLM】知识图谱和LLM的结合
  • 扩散模型DDPM数学推导过程完整版(下)
  • 重庆网站建设入门培训扬州电商网站建设
  • 做国际网站有什么需要注意的福州网站建设吧
  • Echarts极坐标系示例
  • HarmonyOS应用开发深度解析:ArkTS语法精要与状态管理实践
  • 园林景观中企动力提供网站建设网店代理货源网
  • 酒店网站建设建设网站ppt
  • docker学习笔记详记
  • 可做外链的视频网站企业建一个网站
  • 滑动窗口专题总结:从懵逼到掌握valid计数器
  • 深圳市盐田区建设局网站WordPress制作安卓
  • Next.js useState useEffect useRef 速记
  • 图论算法刷题的第五十一天
  • Linux自动化构建工具make/Makefile及Linux下的第一个程序—进度条