1.Dom简介---文档对象模型
1.1节点
1.2文档的加载---- onload可以解决获取不到页面节点的情况,script还是写在下面
浏览器在加载一个页面时,是按照自上向下的顺序加载的,读取到一行就运行一行,如果将scripr标签写到页面的上面,在代码执行时,页面还没有加载,所以将script标签写在下面
如果想要在页面上面写,可以通过onLoad事件实现(在整个页面加载完成之后再触发)
1.3Dom的查询
1.3.1获取元素节点---通过document节点获取
1.3.2获取元素节点的子节点---通过具体的元素节点获取
获取兄弟节点
1.3.3Dom查询其他方法---根据类名获取getElementsByClassName(IE8以下不兼容)&querrySelector(与querrySelectorAll的区别)
查找一个使用querrySelector,查找多个使用querySelectorAll()
1.4Dom的增删改
Dom常用方法
1.5案例
1.5.1图片切换练习
1.5.2反选和全选练习
1.5.3dom的增删改练习
2.修改样式(了解)
2.1操作内联样式----style读取内联样式
通过js修改样式---通过style修改的样式是行内样式,具有较高的优先级,会立即显示(⚠️!important样式最高),无法读取样式表中的样式,只能读取到行内的样式
当涉及-时,需要将其改为驼峰命名法,将其第一个字母大写
⚠️-----读取就不➕等号
读取样式-----读取的是内联样式,无法读取样式表中的样式
案例:
2.2获取元素的样式---currentStyle:读取元素正在显示的样式(只有IE浏览器支持)
其他浏览器通过getComputedStyle修改样式
2.3getStyle()方法----需要对浏览器的版本进行判定---处理兼容性问题
3.事件
3.1事件对象
当事件的响应函数被触发时,浏览器每次都会将一个事件对象作为实参传递响应函数
3.2事件的冒泡-⚠️是相同事件触发
事件冒泡:所谓的冒泡指的是向上传导,当后代元素上的事件被触发时,其祖先元素的相同事件也会被触发
事件冒泡案例:
大部分开发中冒泡都是有益的,但有时也需要阻止事件冒泡
阻止事件冒泡例子----写在函数中e.cancelBubble=true
3.3事件传播(了解即可)
3.4事件的委派---利用了冒泡
3.5事件绑定-绑定一个&绑定多个(注意考虑兼容性的问题)
绑定一个
使用.事件 = 函数的形式绑定响应函数,同时只能为一个元素的一个事件绑定一个响应函数,不能绑定多个,如果绑定了多个,则会覆盖掉前面的
绑定多个----会按照绑定的顺序去执行
需要注意兼容性---在IE8及以下的浏览器不支持
例子:
在IE8中使用attachEvent()----执行顺序是相反的(后绑定的先执行)---处理兼容性问题
两种事件的绑定this不同
3.6改变this的指向---bind
bind、apply、call三者的区别
3.6滚轮事件
3.7键盘事件---一般绑定的都是可以获得焦点的或者document
可以通过keyCode来设置