DOM 是指文档对象模型(Document Object Model),它是一种对 HTML 和 XML 文档进行编程的 API(应用程序编程接口),提供了一种访问和操作文档内容的方式。
DOM 将整个文档看做一个文档树(也称为 DOM 树),文档树中的每个元素都是一个对象,对象之间有层次关系。通过 JavaScript 可以访问文档树中的任何元素,并对这些元素进行增删改查等操作。
DOM 提供的 API 可以实现以下功能:
1. 获取元素:通过 ID、类名、标签名等方式获取文档中的元素节点。
2. 操作元素属性:可以获取、添加、删除、修改元素的属性值,如 class、style、src、href、innerHTML 等。
3. 操作元素内容:可以获取、添加、删除、修改元素的内容,如文本内容、HTML 内容等。
4. 操作元素样式:可以设置元素的样式,如颜色、字体、背景等。
5. 操作元素位置:可以获取、添加、删除、修改文档树中元素的位置,如父元素、子元素、兄弟元素等。
6. 事件处理:可以设置元素的事件处理程序,如鼠标点击事件、键盘事件等。
DOM API 是 JavaScript 中最常用的 API 之一,通过 DOM,我们可以将网页变得更加交互化和动态化。
下面介绍一些常用的 DOM 操作方法及其用法:
1. getElementById(id):根据元素的 ID 获取元素节点,返回一个 Element 对象。
2. getElementsByClassName(className):根据元素的类名获取元素节点,返回一个 HTMLCollection 对象。
3. getElementsByTagName(tagName):根据元素的标签名获取元素节点,返回一个 HTMLCollection 对象。
4. createElement(tagName):创建一个指定标签名的元素节点,返回一个 Element 对象。
5. appendChild(newNode):将一个新的节点添加到当前节点的子节点末尾,返回添加的新节点。
6. removeChild(oldNode):从当前节点的子节点中移除一个指定的节点,返回被移除的节点。
7. replaceChild(newNode, oldNode):用一个新的节点替换当前节点的指定子节点,返回被替换的节点。
8. cloneNode(deep):复制当前节点,并可选择是否复制子节点,返回复制的节点。
9. setAttribute(name, value):设置元素的属性值,如果该属性不存在,会创建一个新的属性。
10. getAttribute(name):获取元素的指定属性值。
下面介绍一些 DOM 事件的使用方法:
1. onclick:当用户单击元素时触发。
element.onclick = function() {
// 执行某些操作
}
2. onmouseover:当用户把鼠标移动到元素上方时触发。
element.onmouseover = function() {
// 执行某些操作
}
3. onmouseout:当用户把鼠标移出元素时触发。
element.onmouseout = function() {
// 执行某些操作
}
4. onkeydown:当用户按下键盘上的任意键时触发。
document.onkeydown = function(event) {
// 执行某些操作
}
5. onsubmit:当用户提交表单时触发。
form.onsubmit = function(event) {
// 阻止表单的默认提交行为
event.preventDefault();
// 执行某些操作
}
下面给出一个 DOM 操作的示例:
HTML 代码:
```
DOM 操作示例
- item 1
- item 2
- item 3
```
JavaScript 代码:
```
// 获取元素
var container = document.getElementById("container");
var list = document.getElementById("list");
var items = list.getElementsByTagName("li");
// 修改元素属性
container.style.backgroundColor = "red";
// 添加新节点
var newItem = document.createElement("li");
newItem.innerHTML = "item 4";
list.appendChild(newItem);
// 删除节点
list.removeChild(items[0]);
// 修改节点内容
items[1].innerHTML = "item 2 modified";
// 设置元素样式
items[2].style.color = "blue";
// 添加事件处理程序
container.onclick = function() {
alert("container 被单击了");
}
```
以上代码实现了以下功能:
1. 获取了文档中的元素。
2. 修改了元素的样式。
3. 添加了一个新的节点到列表中。
4. 删除了列表中的一个节点。
5. 修改了列表中某个节点的内容。
6. 设置了列表中某个节点的样式。
7. 添加了对元素的点击事件处理程序。
壹涵网络我们是一家专注于网站建设、企业营销、网站关键词排名、AI内容生成、新媒体营销和短视频营销等业务的公司。我们拥有一支优秀的团队,专门致力于为客户提供优质的服务。
我们致力于为客户提供一站式的互联网营销服务,帮助客户在激烈的市场竞争中获得更大的优势和发展机会!
发表评论 取消回复