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的,不然会打开两个定时器
posted @ 2023-01-29 17:14  Exungsh💫  阅读(29)  评论(0编辑  收藏  举报