首页 > 编程语言 >前端必知必会-JavaScript HTML DOM 元素(节点)

前端必知必会-JavaScript HTML DOM 元素(节点)

时间:2024-12-18 12:28:43浏览次数:5  
标签:JavaScript const DOM 必知 元素 getElementById HTML document 节点

文章目录


JavaScript HTML DOM 元素(节点)

添加和删除节点(HTML 元素)

创建新的 HTML 元素(节点)

要向 HTML DOM 添加新元素,必须先创建元素(元素节点),然后将其附加到现有元素。

示例

<div id="div1">
<p id="p1">这是一个段落。</p>
<p id="p2">这是另一个段落。</p>
</div>

<script>
const para = document.createElement("p");
const node = document.createTextNode("This is new.");
para.appendChild(node);

const element = document.getElementById("div1");
element.appendChild(para);
</script>

示例说明
此代码创建一个新的 <p> 元素:

const para = document.createElement("p");

要将文本添加到 <p> 元素,您必须先创建一个文本节点。此代码创建一个文本节点:

const node = document.createTextNode("This is a new passage.");

然后您必须将文本节点附加到 <p> 元素:

para.appendChild(node);

最后您必须将新元素附加到现有元素。

此代码查找现有元素:

const element = document.getElementById("div1");

此代码将新元素附加到现有元素:

element.appendChild(para);

创建新的 HTML 元素 - insertBefore()

上例中的 appendChild() 方法将新元素附加为父元素的最后一个子元素。

如果您不想这样做,可以使用 insertBefore() 方法:

示例

<div id="div1">
<p id="p1">这是一个段落。</p>
<p id="p2">这是另一个段落。</p>
</div>

<script>
const para = document.createElement("p");
const node = document.createTextNode("This is new.");
para.appendChild(node);

const element = document.getElementById("div1");
const child = document.getElementById("p1");
element.insertBefore(para, child);
</script>

删除现有 HTML 元素

要删除 HTML 元素,请使用 remove() 方法:

示例

<div>
<p id="p1">这是一个段落。</p>
<p id="p2">这是另一个段落。</p>
</div>

<script>
const elmnt = document.getElementById("p1"); elmnt.remove();
</script>

示例说明
HTML 文档包含一个带有两个子节点(两个 <p> 元素)的 <div> 元素:

<div>
<p id="p1">这是一个段落。</p>
<p id="p2">这是另一个段落。</p>
</div>

找到要删除的元素:

const elmnt = document.getElementById("p1");

然后对该元素执行 remove() 方法:

elmnt.remove();

remove() 方法在旧版浏览器中不起作用,请参阅以下示例,了解如何使用 removeChild()。

删除子节点

对于不支持 remove() 方法的浏览器,您必须找到父节点才能删除元素:

示例

<div id="div1">
<p id="p1">这是一个段落。</p>
<p id="p2">这是另一个段落。</p>
</div>

<script>
const parent = document.getElementById("div1");
const child = document.getElementById("p1");
parent.removeChild(child);
</script>

示例说明
此 HTML 文档包含一个带有两个子节点(两个 <p> 元素)的 <div> 元素:

<div id="div1">
<p id="p1">这是一个段落。</p>
<p id="p2">这是另一个段落。</p>
</div>

查找 id=“div1” 的元素:

const parent = document.getElementById(“div1”);
查找 id=“p1” 的 <p> 元素:

const child = document.getElementById("p1");

从父元素中移除子元素:

parent.removeChild(child);

以下是常见的解决方法:找到要移除的子元素,然后使用其 parentNode 属性来查找父元素:

const child = document.getElementById("p1");
child.parentNode.removeChild(child);

替换 HTML 元素

要将元素替换为 HTML DOM,请使用 replaceChild() 方法:

示例

<div id="div1">
<p id="p1">这是一个段落。</p>
<p id="p2">这是另一个段落。</p>
</div>

<script>
const para = document.createElement("p");
const node = document.createTextNode("This is new.");
para.appendChild(node);

const parent = document.getElementById("div1");
const child = document.getElementById("p1");
parent.replaceChild(para, child);
</script>

总结

本文介绍了JavaScript HTML DOM 元素(节点)的使用,如有问题欢迎私信和评论

标签:JavaScript,const,DOM,必知,元素,getElementById,HTML,document,节点
From: https://blog.csdn.net/qq_24018193/article/details/144459516

相关文章

  • 前端必知必会-JavaScript HTML DOM 集合
    文章目录JavaScriptHTMLDOM集合HTMLCollection对象HTMLHTMLCollection长度总结JavaScriptHTMLDOM集合HTMLCollection对象getElementsByTagName()方法返回HTMLCollection对象。HTMLCollection对象是HTML元素的数组式列表(集合)。以下代码选择文档......
  • JavaScript中的var、let和const:变量声明的演变与最佳实践
    在JavaScript中,变量声明是编程的基础。随着ECMAScript6(ES6)的发布,引入了let和const关键字,使得变量声明更加灵活和安全。本文将探讨var、let和const的区别,并通过示例代码展示它们的用法。1.var关键字var是JavaScript中最古老的变量声明方式。它的作用域是函数作用域或全......
  • 深入理解 Node.js 模块系统:构建高效、可维护的 JavaScript 代码
    摘要:Node.js的模块系统是其强大功能的核心之一,它允许开发者将代码组织成模块化的结构,从而提高代码的可维护性和重用性。本文将深入探讨Node.js模块系统的各个方面,包括模块概述、成员导出与导入、ModuleWrapperFunction以及Node.js内置模块,帮助你更好地理解和利用这......
  • Drag and Drop API 实现 JavaScript 中的原生拖放功能
    理解什么是拖放,我们先做个简单的实验。鼠标移动到页面左上角“CSDN”图片上方,点击左键不放开,拖动鼠标,发现图片随着鼠标移动,松开鼠标时,图片消失。一、拖放(DragandDrop)有什么作用?在JavaScript中,拖放(DragandDrop)是一种用户界面交互模式,允许用户通过鼠标选择、拖动和......
  • nis客户端开启ypbind失败 ldap ypbind[5270]: NIS server for domain domain is not r
    nis客户端开启ypbind失败Dec1715:31:03ldapypbind[5270]:NISserverfordomainanykaisnotrespon报错解释:这条日志信息来自于一个尝试使用NIS(网络信息服务)进行域名为anyka的用户查询,但是NIS服务器没有响应。ypbind是用来绑定到NIS域的工具,它会尝试绑定到指定的NIS服务......
  • random file
    下面是对这个问题进行深入分析后的一种思考和可能的解决方向(并非最终定稿答案,仅为参考思路)。问题本身需要在每次操作(插入或删除一条鱼)后,求出当前鱼群中在最优策略下最多能产生的危险打斗次数。问题重述:我们有一个动态维护的鱼群集合,每条鱼有一个重量(a_i)。打斗规则为:每一轮......
  • JavaScript的对象相关概念
    当然可以,以下是将上述对话整理成Markdown格式的内容:JavaScript面向对象编程相关概念原型链(PrototypeChain)原型链是JavaScript中查找对象属性和方法的机制。它从对象的__proto__属性开始,向上逐层搜索直到找到属性或方法或到达Object.prototype。原型(Prototype)每个Java......
  • javascript-函数
    1.函数如果没有return语句会返回undefined8.1.2函数表示[3,2,1].sort(function(a,b){returna-b;};//函数作为另一个函数的参数lettensquared=(function(x){returnx*x;}(10));//立即执行8.1.3Arrowfunctions使用=>区分参数和函数体,不使用function关键字定义函数,也不需要函数......
  • 使用 JavaScript 进行验证码图片识别
    我们可以使用Node.js环境下的一些库来进行验证码的图像处理和识别,常用的库有sharp(图像处理)和tesseract.js(OCR文字识别)。以下是一个实现验证码识别的基本示例。安装依赖首先,确保你已经安装了Node.js和npm(Node包管理器)。然后在项目目录中安装所需的库:bashnpminit-yn......
  • javascript中 import 路径
    import路径import{test}from'./test';花括号import{test}from'./test';importtestfrom'./test';如果有默认导出exportdefault则可以省略花括号,且import的模块名是随意的,如://a.jsexportdefault'test';//b.jsimportafrom'./......