HTML DOM修改HTML内容
编程小白也能懂的DOM操作指南 – 知识点汇总
什么是 DOM?
DOM(文档对象模型)是HTML文档的编程接口。它表示页面结构,允许程序和脚本动态访问和更新文档的内容、结构和样式。
大白话解释:
把HTML文档想象成一棵树🌲,DOM就是这棵树的编程表示。每个HTML元素(标签)是树上的一个节点,我们可以通过JavaScript访问和操作这些节点。
DOM树结构示例:
获取DOM元素
要修改内容,首先需要获取对应的HTML元素。
常用方法:
document.getElementById("id名")– 通过元素ID获取document.querySelector("CSS选择器")– 通过CSS选择器获取第一个匹配元素document.querySelectorAll("CSS选择器")– 获取所有匹配元素document.getElementsByClassName("类名")– 通过类名获取元素集合document.getElementsByTagName("标签名")– 通过标签名获取元素集合
示例代码:
// 获取ID为header的元素
const header = document.getElementById('header');
// 获取第一个button元素
const btn = document.querySelector('button');
// 获取所有类名为item的元素
const items = document.querySelectorAll('.item');
修改元素内容
1. textContent
获取或设置元素的文本内容(不包含HTML标签)
示例:
// 获取元素
const element = document.getElementById('demo');
// 设置文本内容
element.textContent = '这是新文本内容';
// 获取文本内容
console.log(element.textContent);
2. innerHTML
获取或设置元素内部的HTML内容(包含HTML标签)
示例:
element.innerHTML = '<strong>重要</strong> 内容';
区别:
textContent – 只处理纯文本,更安全
innerHTML – 可以插入HTML标签,但要注意安全风险
修改元素属性
HTML元素具有各种属性(如src, href, class等),可以通过DOM修改。
常用方法:
element.getAttribute('属性名')– 获取属性值element.setAttribute('属性名', '值')– 设置属性值element.removeAttribute('属性名')– 移除属性- 直接访问属性:
element.id,element.className
示例:修改图片src
const img = document.querySelector('img');
img.src = 'new-image.jpg';
// 或
img.setAttribute('src', 'new-image.jpg');
示例:修改链接href
const link = document.getElementById('myLink');
link.href = 'https://new-website.com';
修改CSS样式
可以通过JavaScript动态修改元素的样式。
方法:
使用element.style属性
示例:
const box = document.getElementById('box');
// 修改单个样式
box.style.backgroundColor = 'blue';
box.style.color = 'white';
// 修改多个样式
Object.assign(box.style, {
padding: '20px',
borderRadius: '10px',
fontSize: '18px'
});
注意:
CSS属性名在JavaScript中使用驼峰式写法:
- background-color → backgroundColor
- font-size → fontSize
- border-radius → borderRadius
创建新元素
可以使用DOM动态创建新的HTML元素。
步骤:
- 创建元素:
document.createElement('标签名') - 设置内容和属性
- 添加到DOM树中
示例:创建新列表项
// 1. 创建新元素
const newItem = document.createElement('li');
// 2. 设置内容
newItem.textContent = '新项目';
// 3. 添加到列表
const list = document.getElementById('myList');
list.appendChild(newItem);
删除元素
从DOM中移除元素。
方法:
parent.removeChild(child)– 通过父元素移除子元素element.remove()– 直接移除元素自身
示例:
// 方法1
const parent = document.getElementById('list');
const child = document.getElementById('item2');
parent.removeChild(child);
// 方法2
const element = document.getElementById('removeMe');
element.remove();
替换元素
用新元素替换现有元素。
方法:
parent.replaceChild(newChild, oldChild)
示例:
// 创建新元素
const newElement = document.createElement('div');
newElement.textContent = '我是新元素';
// 获取要被替换的元素
const oldElement = document.getElementById('old');
// 替换元素
oldElement.parentNode.replaceChild(newElement, oldElement);
DOM操作演示区
尝试以下操作:
这里是演示区域,点击按钮看看会发生什么变化!
- 项目 1