一、常见错误:
1.span is not defined span没有定义,一般是因为span这个变量你真的没有定义,或者在没有添加引号
- Cannot read properties of null (reading 'style') 不能使用null读取属性style 一般就是因为元素获取不成功,返回了nullnull
- Cannot set properties of undefined (setting 'color'):i不能使用undefined设置属性color (空数组不能直接来设置属性,先遍历在设置)
*(1).访问一个未定义的对象: *** is not defined
(2).访问一个对象不存在的属性,返回undefined
list.style 空对象 list.style.color错了 - ERR_FILE_NOT_FOUND:路径错误
- Identifier 'button' has already been declared 标识 button 已 经 被 声明 let声明变量的时候,不允许重名
二、如何获取元素
1.querySelector():
获取满足条件的第一个元素,获取到的元素是dom元素,意味着可以直接操作
2.querySelectorAll():
获取满足条件的所有元素,获取到的是伪数组,伪数组不能直接操作,需要遍历伪数组,获取里面的每一个值进行操作
3.参数:传入选择器
三、设置标签之间的文本内容
1.innerText:
设置标签的文本内容,不会解析标签,如果没有赋值就是取值,取值会忽略标签
2.innerHTML:
设置标签的文本内容,会解析标签,如果没有赋值就是取值,取值会返回标签内容的完整的html结构
四、设置元素的属性
1.dom元素.内置属性:如果没有赋值就是取值
2.操作样式
(1)style:样式属性对象。
它是一个对象,包含着当前元素所有可设置的样式属性,使用时通过 dom元素.style.样式 = 值。它的作用是设置行内样式
(2)设置元素的类名:
1. className:
可以设置元素的类名,它会覆盖元素之前的类名样式
2.操作classList:当前元素的类样式列表
.add:添加新样式,不会修改元素之前的类样式
.remove:移除样式
.toggle:切换样式
.contains:判断元素是否包含某个样式
五、表单元素的属性
1.input: value属性可以设置和获取文本框的内容
2.checked,disabled,readonly类似的属性,也可以通过点语法可设置和获取
> 如果没有赋值就是取值,它的值是bool值,特别对于checked属性,选中就是true,否则就是false
3.button 标签的文本内容需要使用innerText/innerHTML, input/type=button需要使用value来设置
3.textarea:它的内容设置需要使用value/innerHTML
六、定时器
1.开启定时器:
setInterval(执行的函数,时间间隔)
2.停止定时器:
> let timeId = setinterval()
> clearInterval(timeId)
二、事件类型
1.类型
click:鼠标单击 dblclick:鼠标双击 mouseenter:鼠标进入 mouseleave:鼠标离开 keydown:按键按下 keyup:按键松开 focus:聚焦事件 blur:失焦事件 input:内容改变事件 change: 1.普通的输入框:内容改变同时失焦 2.对于file:文件选择完毕之后
2.输入框的事件
focus:聚焦事件:只要获取焦点就会触发 blur:失焦事件:只要失去焦点就会触发 input:内容改变事件:只要内容改变,就会触发 change:内容改变的失焦事件:内容改变的同时,失去焦点就会触发
// 添加输入框的获得焦点事件--聚焦事件
username.addEventListener('focus', function() {
username.style.outline = 'none'
username.style.border = '1px solid red'
})
// 为输入框添加失焦事件:失去光标
username.addEventListener('blur', function() {
username.style.border = '1px solid #000'
})
// 对于键盘按键事件,先得让输入框聚焦
username.addEventListener('keydown', function() {
console.log('我按下一个键')
})
username.addEventListener('keyup', function() {
console.log('我松开了')
})