WebAPI_DAY1_DOM
WebAPI#
作用:使用JS去操作html和浏览器
分类:DOM(文档对象类型)、BOM(浏览器对象类型)
DOM(Document Object Model)#
- 浏览器提供的一套专门用来操作网页内容的功能
- 开发网页特效、实现用户交互
DOM树#
将html文档以树状结构表现出来,称为文档树或DOM树
作用:只管体现标签与标签之间的关系
DOM对象#
浏览器根据html标签生成的JS对象(DOM对象)
- 所有标签属性都可以在这个对象上找到
- 修改这个对象的属性会自动映射倒标签身上
DOM核心思想#
把网页内容当作对象来处理
Document对象#
- DOM里最大的对象
- 网页的所有内容都在document里
获取DOM对象#
根据CSS选择器来获取DOM元素
1、选择匹配的第一个元素#
语法:
document.querySelector('css选择器')
参数:
- 包含一个或多个有效的css选择器字符串
返回值:
- css选择器匹配的第一个元素,一个HTMLElement对象
- 如果没有匹配返回null
2、选择匹配的多个元素#
语法:
document.querySelector('ul li')
返回值:
css选择器匹配的NodeList对象集合
如何修改
通过遍历的方式一次给里面的元素做修改(哪怕只有一个元素)
设置/修改DOM元素内容#
1、document.write()#
- 只能将文本内容追加到前面的位置
- 文本中包含的标签会被解析
2、元素innerText属性#
- 将文本内容添加/更新到任意标签位置
- 文本中包含的标签不会被解析
3、元素innerHTML属性#
- 将文本内容添加/更新到任意标签位置
- 文本中包含的标签会被解析
设置/修改DOM元素属性#
1、设置/修改常用属性#
对象.属性 = 值
2、设置/修改样式属性#
2.1、通过style
对象.style.样式属性 = 值
2.2、操作类名(className)操作CSS
如果修改的样式比较多,直接通过style属性修改比较繁琐,我们可以通过借助于css类名的形式。
语法:
元素.className ='active'
注意:
- 由于class是关键字,所以使用className去代替
- className是使用新值换旧值,如果需要添加一个类,需要保留之前的类名
2.3、通过classList 操作类控制CSS
为了解决className容易覆盖以前的类名,我们可以通过classList方式追加和删除类名
语法:
// 追加一个类
元素.classList.add('类名')
//删除一个类
元素.classList.remove('类名')
//切换一个类(如果有就删去,如果没有就添加)
元素.classList.toggle('类名')
3、定时器:间歇函数#
场景:倒计时
目标:使用定时器函数重复执行代码
3.1、开启定时器
setInterval(函数,间隔时间)
作用:每隔一段时间调用这个函数,间隔时间单位是毫秒
3.2、关闭定时器
let 变量名 = setInterval(函数,间隔时间)
clearInterval(变量名)
3.3、打开定时器
变量名 = setInterval(函数,间隔时间)
//注意,后面重启定时器的时候,前面是没有let的,不然会打开两个定时器
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步