javascript技巧

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > javascript技巧 > DOM 概念和常用操作

一文详解DOM的概念和常用操作

作者:前端小蜜蜂来也

本文详细介绍了DOM的概念和常用操作,文档对象模型 (DOM) 是 HTML 和 XML 文档的编程接口。它提供了对文档的结构化的表述,并定义了一种方式可以使从程序中对该结构进行访问,从而改变文档的结构,样式和内容,感兴趣的朋友可以参考阅读本文

DOM 的概念和常用操作

什么是 DOM?

文档对象模型 (DOM) 是 HTML 和 XML 文档的编程接口。它提供了对文档的结构化的表述,并定义了一种方式可以使从程序中对该结构进行访问,从而改变文档的结构,样式和内容。DOM 将文档解析为一个由节点和对象(包含属性和方法的对象)组成的结构集合。简言之,它会将 web 页面和脚本或程序语言连接起来。

官方定义晦涩难懂,我们可以简单理解为: DOM 采用的是“树形结构”,用“树节点”的形式来表示页面中的每一个元素。我们先看下面的一个例子。

<!DOCTYPE HTML>
<html>
<head>
  <title>文档标题</title>
</head>
<body>
  <a href="https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/3923a92ec9c74b7a9e6f7ec2f7b99c49~tplv-k3u1fbpfcp-zoom-1.image" rel="external nofollow" >我的链接</a>
  <h1>我的标题</h1>
</body>
</html>

对于上面这个 HTML 文档,DOM 将其解析为修图所示的树形结构。

HTML文档被浏览器解析后就是一棵DOM树,要改变HTML的结构,就需要通过JavaScript来操作DOM。

如何操作 DOM?

一些常用的 HTML DOM 方法:核心就是增删改查操作,

添加元素

例如:新创建一个新元素 div,并添加到 HTML 文档中。代码如下:

let el = document.createElement("div");
el.id = 'shiYu';
el.style = 'width: 500px;height:500px;backGroundColor:red;';
el.innerHTML = '创建一个新元素div';
document.body.appendChild(el);

例如:克隆一个新元素 clone,并添加到 HTML 文档中。代码如下:

let el = document.getElementById("test");
let clone = el.cloneNode(true);
clone.id = "test2";
document.body.appendChild(clone);

删除元素

代码如下:

var deletedChild = parent.removeChild(node);

const sp1 = document.createElement("span");
sp1.id = "newSpan";
const sp1_content = document.createTextNode("new replacement span element.");
sp1.appendChild(sp1_content);
const sp2 = document.getElementById("childSpan");
const parentDiv = sp2.parentNode;
parentDiv.replaceChild(sp1, sp2);

修改元素

代码如下:

// parent.appendChild(child);
const p = document.createElement("p");
document.body.appendChild(p);

let insertedNode = parentNode.insertBefore(newNode, referenceNode);

// 原为 <div id="one">one</div>
var d1 = document.getElementById('one');
d1.insertAdjacentHTML('afterend', '<div id="two">two</div>');
// 此时,新结构变成:
// <div id="one">one</div><div id="two">two</div>
查找元素

一些常用的 HTML DOM 属性

例子:

// 创建一个html元素,这里以创建h1元素为例
let el = document.createElement("h1")
el.innerHTML = '这是一段文字描述...'

let p = document.getElementById('p')
p.innerHTML = '这是一段文字描述...'

// myEl 是一个 DOMRect 对象,包含整个元素的最小矩形(包括 padding 和 border-width)。width、height、left、top、right、bottom,它是相对于窗口顶部而不是文档顶部,滚动页面时它们的值是会发生变化的。
var myEl = element.getBoundingClientRect();

到此这篇关于一文详解DOM的概念和常用操作的文章就介绍到这了,更多相关DOM 概念和常用操作内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文