DOM 介绍

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内容生成、新媒体营销和短视频营销等业务的公司。我们拥有一支优秀的团队,专门致力于为客户提供优质的服务。

我们致力于为客户提供一站式的互联网营销服务,帮助客户在激烈的市场竞争中获得更大的优势和发展机会!

点赞(51) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿
发表
评论
返回
顶部