JavaScript学习Day11笔记

Day11笔记

一、什么是DOM

  • DOM是Document Object Model(文档对象模型)的缩写,是W3C(万维网联盟)的标准。
  • 它允许程序和脚本动态地方位和更新文档的内容、结构和样式。
  • 在前端开发时,我们往往需要在页面某个地方添加一个元素或者删除元素,这种添加元素、删除元素的操作就是通过DOM来实现的。

二、DOM节点类型

  • 整个文档时一个文档节点 => docunment节点。
  • 根节点:<html>
  • 每个HTML元素是元素节点。
  • HTML元素内的文本是文本节点
  • 注释是注释节点

三、DOM节点信息

nodeNamenodeTypenodeValue
元素节点标签名1null
文本节点#text3文本内容
  • 在DOM中,每一个元素节点都被看成一个对象,既然是对象,那肯定有相关的属性和方法。
  • childNodes => 获取所有子节点
  • html中换行会产生内容为空的文本节点

四、获取节点方式

document系列
  • document.documentElement => 获取html(根节点)
  • document.body => 获取body节点
  • document.head => 获取head节点
getElement系列
  • document.getElementById(‘id属性值’)
  • document.getElementsByTagName(‘标签名’)
  • document.getElementsByClassName(‘class属性值’)
  • document.getElementsByName(‘name属性值’)

注:此方法获取的是动态节点(通过DOM添加的节点也可获取)。

querySelector系列
  • document.querySelector(’#id属性值’) => 返回该id属性的节点
  • document.querySelectorAll(’.class属性值’) => 返回所有该class属性的节点(数组)
  • document.querySelector(‘标签名’) => 返回第一个这个标签节点
  • document.querySelector(‘标签名.class属性值’) => 获取第一个class属性值的标签节点
  • document.querySelector(‘标签名[属性]’) => 获取第一个含有相同属性的标签节点
  • document.querySelectorAll(‘标签名’) => 返回所有这个标签节点(数组)
  • document => 可以换成nodeEle将会缩小获取节点的范围
  • 标签名 => 遵循css写法
  • ul>li => 也可以用class和id的写法
  • :nth-child(n)
  • :not(:nth-child(n))

注:此方法只能获取静态节点(无法获取通过DOM添加的节点)。

Element系列
属性名称描述
nodeEle.parentNode返回该节点的父节点
nodeEle.childNodes返回该节点的所有子节点(数组)
nodeEle.firstChild返回该节点的第一个子节点(换行是空的文本节点)
nodeEle.lastChild返回该节点的最后一个子节点(换行是空的文本节点)
nodeEle.nextSibling返回该节点的下一个节点(换行是空的文本节点)
nodeEle.previousSibling返回该节点的上一个节点(换行是空的文本节点)
nodeEle.firstElementChild返回该节点的第一个子节点(无视换行产生的空文本节点)
nodeEle.lastElementChild返回该节点的最后一个节点(无视换行产生的空文本节点)
nodeEle.nextElementSibling返回该节点的下一个节点(无视换行产生的空文本节点)
nodeEle.previousElementSibling返回该节点的上一个节点(无视换行产生的空文本节点)

五、操作元素内容

// innerHTML属性声明了元素含有的HTML文本,不包括元素本身的开始标记和结束标记。设置该属性可以用于为指定的HTML文本替换元素的内容。
p.innerHTML = '<h1>Html内容</h1>'

//innerText属性与inerHTML属性的功能类似,只是该属性只能声明元素包含的文本内容。即使指定的是HTML文本,它也会认为是普通文本而原样输出。
p.innerText = '纯文本内容'

// value只用于input表单。
p.value = '表单内容'
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值