1. 目录

    创建节点

    添加元素

    1.appendChild()方法

    insertAdjacentHTML()方法

    insertBefore()方法

    删除元素

    1.removeChild()方法

    2.remove()方法

    复制节点


  2. 创建节点

通常的方法就是使用document.createElement(“”)这种方式创建

  1. 添加元素

1.appendChild()方法

node代表的是父节点,而child代表的是子节点。只不过这种添加方式是加在父节点的子节点末尾。相当于追加数组push

insertAdjacentHTML()方法

insertAdjacentHTML() 是Element的API中的一个方法可以字符串文本转化为你想要的节点(Node),并且插入到你想要插入位置中。而且它并不会向innerHTML一样会替换掉已有的节点,而是会插入指定位置

模型

一共有四个位置可供选择

我是这么理解可以选中的元素想象成一个盒子

begin就是盒子最上面的一条线,end就是盒子最下面的一条线

那么beforebegin就是在盒子(本元素)最上面的线的前面所以就是在本元素前面添加

afterend则就是在盒子(本元素)最下面的线的后面所以就是本元素的下面

let text = "文化底蕴" 
//这个medium是获取div元素
let medium=document.querySelector("#medium")
medium.insertAdjacentHTML("afterend",`<li&gt;${text}</li&gt;`)

注意:不能这么使用,就是先通过documnet.createElement()创建元素,

然后再通过insertAdjacentHTML()添加元素.

因为insertAdjacentHTML添加的是字符串,而他可以解析字符串中的element标签

但是不能直接传入元素节点,否则就会显示这样

<div class="box2"&gt;</div&gt;
//首先创建一个span元素
let span= document.createElement("span") 
//给span元素内部添加内容
span.innerHTML="醉里挑灯看剑,梦回吹角连营" 
box2.insertAdjacentHTML("afterbegin",span)

而将这个方法更改insertAdjacentElement就可以了,他只能添加元素节点。

let span= document.createElement("span") 
span.innerHTML="醉里挑灯看剑,梦回吹角连营" 
box2.insertAdjacentElement("afterbegin",span)

这三个兄弟方法类似,只是传入的第二个参数有些不同

insertAdjacentElement()第二个参数只能插入元素节点,传文本节点会报错

insertAdjacentHTML()传入的第二个参数会当成字符串解析,会解析字符串中的element元素.

只能传入字符串

insertAdjacentText()传入的第二个参数都会当作字符解析

insertBefore()方法

Node.insertBefore() 方法在参考节点之前插入一个拥有指定父节点的子节点

而所谓的“拥有指定父节点”,就是指被参照的节点的父节点就是调用insertBefore方法的节点。

注意:被参照的节点的父节点就是调用insertBefore方法的节点

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

//newNode:将要插入的节点
//referenceNode:被参照的节点(即要插在该节点之前)
//insertedNode:插入后的节点
//parentNode:父节点
//而实际上insertedNode===newNode
console.log(box3.insertBefore(p3, p1)===p3);//true

insertBefore接收两个参数(想要添加的子元素,指定元素)

insertBefore方法可以将想要添加的元素添加在指定元素的前面

注意这个指定元素是父节点的子元素。

  1. 删除元素

node父元素,child是子元素。

有两种途径:

1.removeChild()方法

语法:父元素.removeChild(要删除的节点对象)

也就是通过父元素删除子元素

2.remove()方法

语法:要删除的对象.remove()

自己删除自己,也就是所谓的自删

注意:remove()方法可用于删除父节点上的所有元素,包括所有文本和子节点。

  1. 复制节点

克隆节点的方法:要克隆的节点.cloneNode()

node.cloneNode();括号为空或者里面false拷贝, 只是复制标签不复制里面内容

node.cloneNode(true);括号true拷贝,复制标签里面内容

注意如果想要及内容也克隆过来,只需要将()里面添加true即可

原文地址:https://blog.csdn.net/xhdjdje/article/details/129107515

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

如若转载,请注明出处:http://www.7code.cn/show_11569.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除!

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注