2022-04-28

DOM对象

DOM对象:浏览器根据html标签生成的 JS对象

DOM的核心思想:把网页内容当做对象来处理

获取DOM对象

语法:document.querySelector('css选择器')--
作用:在文档中根据css选择器来查询获取元素,可以直接来修改
返回值: 匹配的第一个元素, 如果没有匹配到,则返回null

语法: document.querySelectorAll('css选择器')--
作用:所有的元素,需要配合for循环遍历来书写代码修改
返回值: 元素集合

document 文档 query查询 Selector选择器

修改元素内容

修改元素内容 innerText , innerHTML
都是属性,使用等号来赋值即可

innerText 不能识别解析标签,
innerHTML 可以解析标签

说明:推荐使用 innerHTML

修改元素属性

设置/修改元素常用属性(src 、title等属性)
//一定要先获取元素

语法:对象.属性 = 值
imgObj.src = './images/3.jpg'

使用className操作类名修改样式

语法:DOM对象.className = '类名'

// 注意说明:

  1. 在标签上,通过class属性表示类名,但在js中,通过className表示类名(JS,class是个关键字,不能表示类名)
  2. 使用className有 覆盖 问题

使用classList操作类名修改样式

使用classList操作类名修改样式
// classList.add() 添加类名 不会有覆盖问题 理解为追加效果
// classList.remove() 移除类名
// classList.toggle() 切换类名(如果有该类名,会移除掉, 如果没有该类名,会添加该类名)

说明:
// classList 和 className之间的区别
// className 存有覆盖问题
// classList 不存在覆盖问题

使用上的区别,区分是属性还是方法(属性是等号赋值,方法是通过() 来调用的 )
// divObj.className = '类名'
// divObj.classList.add('类名')

通过style控制样式属性

语法:对象.style.样式属性名 = 值

对于有中划线的,需要遵守驼峰式写法 比如 font-size z-index background-image .

表单的属性设置

表单的属性设置 (value、type、disabled、checked、selected)

语法
// 获取: 对象.属性名
// 设置: 对象.属性名 = 值

布尔类型的属性 (disabled、checked、selected)
// 布尔类型(true 和 false)
// 就是说,以上属性的值,要么是true,要么false
inp1.disabled = true // true 表示要禁用 inp1
inp1.disabled = false // false 表示去掉禁用 inp1

定时器函数

作用: 每隔一段时间,就会来调用函数

开启定时器语法: setInterval(函数, 间隔时间)

关闭定时器语法:clearInterval(定时器id)

// 小结
//  定时器

//  开启   let timerId = setInterval(函数, 间隔时间)
//  关闭   clearInterval(timerId) // timerId 定时器的id ==> 在开启定时器的时候,会返回该开启的定时器的id
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容