笔记内容为 JavaScript基础语法-dom-bom-js-es6新语法-jQuery-数据可视化echarts黑马pink老师前端入门基础视频教学 教学课程的整理。
获取元素
- 获取 body 元素
document.body // 返回 body 元素对象
- 获取 html 元素
document.documentElement // 返回 html 元素对象
H5 自定义属性
- 设置 H5 自定义属性
- H5 规定自定义属性
data-开头作为属性名并且赋值 - 比如
<div data-index="1"></div> - 或者使用 js 设置
element.setAttribute('data-index', 2)
- H5 规定自定义属性
- 获取 H5 自定义属性
- 兼容性获取
element.getAttribute('data-index') - H5 新增
element.dataset.index或者element.dataset['index']ie11 才开始支持 - data-list-name="andy" 可以通过
div.dataset.listName或者div.dataset['listName']来获取
- 兼容性获取
DOM 重点核心
关于 dom 操作,我们主要针对元素的操作,主要有创建、增、删、改、查、属性操作、事件操作。
1. 创建
document.writeinnerHTMLcreateElement
2. 增
appendChildinsertBefore
3. 删
removeChild
4. 改
主要修改 dom 的元素属性,dom 元素的内容、属性,表单的值等
- 修改元素属性:
src、href、title等 - 修改普通元素内容:
innerHTML、innerText - 修改表单元素:
value、type、disabled等 - 修改元素样式:
style、className
5. 查
主要获取查询 dom 的元素
- DOM 提供的 API 方法:
getElementById、getElementsByTagName古老方法不太推荐 - H5 提供的新方法:
querySelector、querySelectorAll提倡 - 利用节点操作获取元素:父(
parentNode)、子(children)、兄(previousElementSibling、nextElementSibling)提倡
6. 属性操作
主要针对于自定义属性
setAttribute:设置 dom 的属性值getAttribute:得到 dom 的属性值removeAttribute:移除属性
7. 事件操作
给元素注册事件,采取 事件源.事件类型 = 事件处理程序
事件对象
e.target返回的是触发事件的对象(元素),this返回的是绑定事件的对象(元素)- 区别:
e.target点击了哪个元素,就返回哪个元素。this哪个元素绑定了这个点击事件,那么就返回谁
事件委托(代理、委派)
- 事件委托
- 事件委托也称为事件代理,在 jQuery 里面称为事件委派
- 事件委托的原理
- 不是每个子节点单独设置事件监听器,而是事件监听器设置在其父节点上,然后利用冒泡原理影响设置每个子节点