通常的方法就是使用document.createElement(“”)这种方式来创建
-
添加元素
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>${text}</li>`)
注意:不能这么使用,就是先通过documnet.createElement()创建元素,
然后再通过insertAdjacentHTML()添加元素.
因为insertAdjacentHTML添加的是字符串,而他可以解析字符串中的element标签,
但是不能直接传入元素节点,否则就会显示这样
<div class="box2"></div>
//首先创建一个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.removeChild()方法
也就是通过父元素删除子元素
2.remove()方法
自己删除自己,也就是所谓的自删
注意:remove()方法可用于删除父节点上的所有元素,包括所有文本和子节点。
-
复制节点
克隆节点的方法:要克隆的节点.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进行投诉反馈,一经查实,立即删除!