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 = '类名'
// 注意说明:
- 在标签上,通过class属性表示类名,但在js中,通过className表示类名(JS,class是个关键字,不能表示类名)
- 使用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