JavaScript中什么是DOM?

2022-12-21 0 242

云和安全可靠管理工作服务项目研究者新钛云服 林泓辉译者

假如您就此结束自学 JavaScript,您可能将听闻过 DOM。但它到底是甚么?

在责任编辑中,我将说明甚么是 DOM 并提供更多许多 JavaScript 标识符实例。

我们将看一看怎样从 HTML 文件格式中优先选择原素、怎样建立原素、怎样更动H55N CSS 式样和怎样窃听该事件。

甚么是DOM?

DOM 代表者文件格式第一类数学模型。它是三个程式设计USB,容许他们从文件格式中建立、更动或删掉原素。他们还能向那些原素加进该事件,使他们的网页更为静态。

DOM 将 HTML 文件格式视作结点树。三个结点代表者三个 HTML 原素。

让他们看呵呵这段 HTML 标识符,以更快地认知 DOM genomes。

<!DOCTYPEhtml><htmllang=”en”><head><metacharset=”UTF-8″><metaname=”viewport”content=”width=device-width, initial-scale=1.0″><meta http-equiv=”X-UA-Compatible”content=”ie=edge”><title>DOM tree structure</title></head><body><h1>DOM tree structure</h1><h2>Learn about the DOM</h2></body></html>

他们的文件格式称作根结点,包涵三个子节点,即<html>原素。该<html>原素包涵三个子原素,它是<head>和<body>原素。

the<head>和<body>element 都有他们的子原素。

这是建模此结点树的另一类方式。

JavaScript中什么是DOM?

他们可以访问文件格式中的那些原素并使用 JavaScript 对其进行更动。

让他们看几个实例,说明他们怎样使用 JavaScript 处理 DOM。

怎样优先选择文件格式中的原素

在 HTML 文件格式中优先选择原素有几种不同的方法。

在责任编辑中,他们将重点介绍其中三种方式:

• getElementById()

• querySelector()

• querySelectorAll()

getElementById():

在 HTML 中,id 用作 HTML 原素的唯一标识符。这意味着您不能为三个不同的原素使用相同的id名称。

这是不正确的:

<pid=”para”>This is my first paragraph.</p><pid=”para”>This is my second paragraph.</p>

您必须确保那些ids 是唯一的,如下所示:

<pid=”para1″>This is my first paragraph.</p><pid=”para2″>This is my second paragraph.</p>

document.getElementById(“id name goes here”)

constparagraph1= document.getElementById(“para1”);console.log(paragraph1);

JavaScript中什么是DOM?

假如他们想知道刚才段落的内容,那么他们就能使用textContent里面的属性console.log()。

constparagraph1= document.getElementById(“para1”);console.log(paragraph1.textContent);

JavaScript中什么是DOM?

querySelector():

您能使用此方式查找具有三个或多个 CSS 优先选择器的原素。

我为我最喜欢的电视节目建立了这个 HTML 实例:

<h1>Favorite TV shows</h1><ulclass=”list”><li>Golden Girls</li><li>Archer</li><li>Rick and Morty</li><li>The Crown</li></ul>

假如我想查找h1原素并将其打印到控制台,那么我能在querySelector().

consth1Element= document.querySelector(“h1”);console.log(h1Element);

JavaScript中什么是DOM?

假如我想class=”list”将无序列表打印到控制台,那么我会.list在 querySelector().

在.之前list告诉计算机目标类的名称。假如您想定位三个,id那么您能#在名称前使用三个符号。

constlist= document.querySelector(“.list”);console.log(list);

JavaScript中什么是DOM?

querySelectorAll():

此方式查找与 CSS 优先选择器匹配的所有原素并返回所有那些节点的列表。

假如我想<li>在他们的例子中找到所有的项目,我能使用>子组合器来找到<ul>.

constlistItems= document.querySelectorAll(“ul > li”);console.log(listItems);

JavaScript中什么是DOM?

假如他们想打印出<li>电视节目的实际项目,他们能使用 forEach()循环遍历 NodeList 并打印出每个项目。

constlistItems= document.querySelectorAll(“ul > li”);listItems.forEach((item)=>{console.log(item);});

JavaScript中什么是DOM?

怎样向文件格式加进新原素

他们能使用document.createElement()向 DOM 树加进新原素。

让他们看呵呵这个例子:

<h1>Reasons why I love freeCodeCamp:</h1>

现在,我<h1>在网页上只有三个标签。但是我想在<h1>使用 JavaScript 的标签下加进三个我喜欢 freeCodeCamp 的原因列表。

他们能首先使用document.createElement(ul). 我将把它分配给三个名为unorderedList.

letunorderedList= document.createElement(“ul”);

然后他们需要使用该appendChild(ul)方式将该原素加进到文件格式中。

document.body.appendChild(unorderedList);

接下来为<ul>原素加进几个<li>原素。

letlistItem1= document.createElement(“li”);letlistItem2= document.createElement(“li”);

然后他们能使用该 textContent属性为他们的列表项加进文本。

letlistItem1= document.createElement(“li”);listItem1.textContent=”Its free”;letlistItem2= document.createElement(“li”);listItem2.textContent=”Its awesome”;

最后一部分是使用该appendChild()方式将列表项加进到无序列表中。

let listItem1 = document.createElement(“li”);

listItem1.textContent=”Its free”;

unorderedList.appendChild(listItem1);

letlistItem2= document.createElement(“li”);

listItem2.textContent = “Its awesome”;

unorderedList.appendChild(listItem2);

这就是标识符的样子。

letunorderedList= document.createElement(“ul”);document.body.appendChild(unorderedList);letlistItem1= document.createElement(“li”);listItem1.textContent=”Its free”;unorderedList.appendChild(listItem1);letlistItem2= document.createElement(“li”);listItem2.textContent=”Its awesome”;unorderedList.appendChild(listItem2);

这是网页上的输出:

JavaScript中什么是DOM?

怎样使用 Style 属性更动H55N CSS 式样

该style属性使您能够更动 HTML 文件格式中的 CSS。

在本例中,他们将h1使用style属性将文本从黑色更动为蓝色。

这是他们的 HTML。

<h1>I was changed to blue using JavaScript</h1>

他们首先需要使用

consth1= document.querySelector(“h1”);

然后他们使用h1.style.color将h1文本从黑色更动为蓝色。

consth1= document.querySelector(“h1″);h1.style.color=”blue”;

这是在浏览器中的结果:

JavaScript中什么是DOM?

您能使用此style属性来更动许多CSSH55N式样,包括background-color,border-style,font-size和更多。

怎样使用 addEventListener() 窃听网页上的该事件

此方式容许您将该事件附加到 HTML 原素(如按钮)。

在这个例子中,当用户点击按钮时,会弹出一条警告消息。

在他们的 HTML 中,他们有三个带有idof的按钮原素btn。

<buttonid=”btn”>Show alert</button>

他们能使用getElementById()方式在 JavaScript 中定位该原素并将其分配给名为 的变量button。

constbutton= document.getElementById(“btn”);

addEventListener()的参数为该事件类型和触发时的函数。该事件类型将是三个click该事件,该函数将触发警报消息。

这是将该事件侦听器加进到button变量的标识符。

button.addEventListener(“click”,()=>{alert(“Thank you for clicking me”);});

这是您能单击按钮并弹出警报消息的完整标识符:

constbutton= document.getElementById(“btn”);button.addEventListener(“click”,()=>{alert(“Thank you for clicking me”);});

结论

DOM 代表者文件格式第一类数学模型,是一类程式设计USB,容许他们从文件格式中建立、更动或删掉原素。他们还能向那些原素加进该事件,使他们的网页更为静态。

您能使用getElementById(), querySelector()、 和等方式在 JavaScript 中优先选择原素querySelectorAll()。

假如要将新原素加进到文件格式中,能使用document.createElement().

您还能使用该style属性更动原素的H55N CSS 式样。

假如要将该事件加进到按钮等原素,则能使用addEventListener().

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务