DOM知识点总结(一)

什么是DOM?

文档对象模型——Document Object Model,简称DOM。一个页面,主要由各种元素、属
性和文本等等组成,我们把这些都称作为节点,而DOM就是用来操作页面所有节点的属性和方法。

DOM树

在这里插入图片描述
DOM 树就是我们 html 结构中一个一个的节点构成的,不光我们的标签是一个节点,我们写的文本内容也是一个节点,注释,包括空格都是节点。

DOM节点

DOM的节点我们一般分为常用的三个:元素节点 / 文本节点 / 属性节点

我们写在HTML里面的标签,就是元素节点

我们标签里面写的文字,那么就是文本节点

写在每一个标签上的属性,就是属性节点

获取节点的方法:
获取节点的 方法描述
document.getElementById(元素ID名)获取带有指定ID的元素(节点)
document.getElementByClassName(元素类名)获取带有指定类名的元素(节点),获取的是一组元素
document.getElementsByTagName(标签名)通过标签名获取元素,获取的是一组元素
document.querySelector(标签名/类名/id名)通过选择器获取元素,获取到的是满足条件的第一个
documenrt.querySelectorAll(标签名/类名/id名)通过选择器获取元素,获取的是一组元素
获取节点的 属性描述
childNodes获取一个元素下的所有子节点
children获取一个元素下的所有元素子节点
firstChild获取一个元素下第一个子节点
firstElementChild获取一个元素下第一个元素子节点
lastChild获取一个元素下最后一个子节点
lastElementChild获取一个元素下最后一个元素子节点
previousSibling获取一个节点的上一个兄弟节点
previousElementSibling获取一个节点的上一个兄弟元素节点
nextSibling获取一个节点的下一个兄弟节点
nextElementSibling获取一个节点的下一个兄弟元素节点
parentNode获取一个节点的父节点
parentElement获取一个节点的父元素节点
attributes获取一个节点的所有属性节点
创建节点描述
document.createElement()创建元素节点
document.creatTextNode()创建文本节点

创建一个 div 标签:

var creDiv = document.createElement('div')
    creDiv.innerHTML = '我是一段文本内容'
    creDiv.className = 'box3 box4'
    console.log(creDiv)

创建一个文本节点 :

var text = document.createTextNode('我是凭空捏造的一个节点')
console.log(text.nodeType) // 3 ——> 文本节点
插入节点描述
appendChild()把子节点插入到某一个父节点下面,并且放在最末尾的位置
insertBefore()把子节点插入到某一个父节点下面,并且放在最前面的位置
// 1. 创建一个 span 节点
    var creSpan = document.createElement('span')
    creSpan.innerHTML = '我是创建的一个 span 标签'
// 2. 把创建的 span 插入到 div 的内部, 并且放在 p 标签的前面
// 2-1. 看一下 appendChild 的效果
	div.appendChild(creSpan)
// 2-2. 看一下 insertBefore 的效果
    div.insertBefore(creSpan, p)
删除节点描述
removeChild()删除节点下的某一个子节点
remove直接把自己删除
// 0. 获取元素
    var div = document.querySelector('div')
    var p = document.querySelector('p') // 我这里获取到的就是 一号

// 1. 把 p 标签从 div 里面移除
    div.removeChild(p) // 移除的也是 div 里面的 一号 p 标签

// 2. 把 div 从 页面里面 直接移除
    p.remove()
替换节点描述
replaceChild()使用新节点替换父节点下面的某一个旧节点
 // 0. 获取元素
    var div = document.querySelector('div')
    var p = document.querySelector('p')

// 1. 创建一个 span 标签
    var creSpan = document.createElement('span')
    creSpan.innerHTML = '我是创建的一个 span 标签'

// 2. 用我创建的 span 标签把 div 里面本身的 p 标签替换掉
    div.replaceChild(creSpan, p)
克隆节点描述
cloneNode()复制一份一模一样的节点出来
   // 0. 获取元素
    var div = document.querySelector('div')

    // 1. 克隆一份一模一样的 div 出来
    var res = div.cloneNode()
    console.log(res)
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值