前端学习笔记-8-关于DOM节点的理解

本文介绍了DOM节点的基本概念,包括元素、属性和文字节点,详细讲解了如何在DOM树中查找、添加、克隆和删除节点,以及使用JavaScript操作HTML的方法,如`appendChild`和`insertBefore`。
摘要由CSDN通过智能技术生成

开门见山

什么是DOM节点?

DOM树里每一个内容都是DOM节点

DOM分类

元素节点:div、a、p、span等标签

属性节点:class属性

文字节点:比如标签里的文字

DOM树节点图示:

注:HTML是根节点,document不是

怎么操作节点?

查找节点

父节点查找

子元素.parentNode

子节点查找(获取到的是个伪数组)

父元素.children

兄弟节点查找

上一个兄弟节点:

兄弟节点.previousElementSibling

下一个兄弟节点:

兄弟节点.nextElementSibling

添加节点

添加节点有两步:先创建节点,再添加入DOM树中

那怎么创建节点呢

使用以下代码:

document.createElement('标签名')

创建好后就要添加到DOM树中了

使用以下代码:

//插入到这个父元素的最后
父元素.appendChild(要插入的元素)
//插入到某个子元素的前面
父元素.insertBefor(要插入的元素,在哪个元素前面)

注意:查询不到时返回null

学了添加节点就可以用js写HTML了

甚至可以动态更改哦

克隆节点

当我们需要许多相似的节点时,可以使用克隆加快工作效率

使用以下代码:

//获取列表
const ul = document.querySelector('ul')
//克隆列表项
const li1 = ul.children[0].cloneNode(true)
//添加列表项
ul.appendChild(li1)

这串代码我们可以给它简化以下:

//获取列表
const ul = document.querySelector('ul')
//克隆列表项的同时添加列表项
ul.appendChild(ul.children[0].cloneNode(true))

这样就简洁多了

在代码中我们发现cloneNode方法中有一个布尔类型的参数,这个参数的意义是当它为true的时候连同标签内的文字一起克隆(深拷贝),而当它为false的时候只克隆标签(浅拷贝)

那么问题就来了,如果只是克隆标签我们又为什么要调用这个方法呢???

然而很不幸,它的默认值就是false

所以这里的true要注意不要落下

删除节点

注意:要删除节点必须要有父节点

使用以下代码:

父元素.removeChild(要删除的元素)

谢谢学习,欢迎交流

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值