如何使用 JavaScript 检查是否存在具有特定 ID 的元素?
概述
可以使用 JavaScript 检查 HTML 元素中是否存在特定 ID 以完成特定任务。要解决这个问题,我们应该了解如何访问 HTML 文档对象模型 (DOM)。因此,使用 ID 名称指定的 HTML 元素可以通过 document 对象访问,该对象包含多种方法,我们将使用其中 `getElementById()` 方法。
语法
使用的基本语法为:
document.getElementById()
document − 在给定的语法中,document 是网页在浏览器中加载时加载的对象。它是一个树状结构,从上到下构建。
getElementById() − `getElementById()` 是 document 对象的一种方法。此方法有助于访问包含特定给定 ID 的 HTML 元素。ID 作为参数传递给该方法。
解释
在给定的代码中,"id" 由 `document.getElementById()` 方法访问,其中传递了 HTML 元素的 id。HTML 元素存储在变量 "id" 中,然后我们使用 if-else 条件进行检查。如果变量为真,即如果它包含特定的 id,则条件终止,否则,else 条件终止。
使用 `document.getElementById()` 时,它的工作原理类似于树,搜索树的每个节点以查找包含给定特定 id 的节点。在给定的图中,它将跟踪所有从 1🡪2🡪3 的路径。当搜索节点 3 时,如果在该节点上可以找到给定的特定 id,其中包含 id=“text”,它将返回并将其存储在变量中。
算法
步骤 1 - 创建一些 HTML 标签,例如 label、p 等和一个 HTML 按钮。
步骤 2 - 使用 DOM 方法 `document.getElementById()` 访问 HTML 中的任何元素。将其存储在变量中。
步骤 3 - 使用 `addEvenListener()` 和 `click()` 事件方法。
步骤 4 - 将 HTML 元素的变量作为条件传递给 if-else。
步骤 5 - 如果 id 等于 null,则它返回不存在特定 id 元素,否则它将返回 id。
示例
<!DOCTYPE html> <html lang="en"> <head> <title>Check element with specific id exist or not</title> <style> body { color: white; background-color: #0a0a0a; display: flex; place-content: center; min-height: 90vh; flex-direction: column; text-align: center; } p { width: 50%; margin: 8px auto; padding: 0.4rem; } button { border: none; padding: 0.4rem; background-color: #0a0a0a; box-shadow: 0px 0px 5px rgba(255, 255, 255, 0.788); border-radius: 5px; margin: 0 auto; color: white; } </style> </head> <body> // The HTML body contains 4 id text, output, chBtn, note <label id="text"></label> <p id="output"></p> <button id="chBtn">Check Now</button> <p id="note"></p> <script> document.getElementById("chBtn").addEventListener("click", () => { var id = document.getElementById("text"); //access the HTML element id // checks whether the id is present in the HTML element or not. if (id != null) { document.getElementById("output").innerText = "Id exist " + id document.getElementById("output").style.background = "green" document.getElementById("note").innerText = "*" + id + " is type HTML element" } else { document.getElementById("output").innerText = "Id does not exist" document.getElementById("output").style.background = "tomato" } }) </script> </body> </html>
输出
当 id=“text” 存在于 HTML 元素中时
在给定的输出中,[HTMLLabelElement] 表示我们已处理检查的“id”在“HTML 的标签元素”中可用。
当 id=“tex” 不存在于任何 HTML 元素中时
<label id="text"></label>
结论
`document.getElementById()` 的返回类型为“Object HTMLTagElement”,如果在 DOM 搜索树中找不到 id,则返回 null。“id” 的每个 HTML 元素都是唯一的,因此很容易在 HTML 标签中搜索特定的 id。如果“id”不是唯一的,则 `getElementById()` 方法将返回在 HTML 主体中找到的第一个元素。`document.getElementById()` 与 `addEventListener` 连接,我们可以直接从 JavaScript 执行点击事件,而无需在 `