JavaScript 学习笔记 —— DOM

217 阅读2分钟

笔记内容为 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 自定义属性
    1. 兼容性获取 element.getAttribute('data-index')
    2. H5 新增 element.dataset.index 或者 element.dataset['index'] ie11 才开始支持
    3. data-list-name="andy" 可以通过 div.dataset.listName 或者 div.dataset['listName'] 来获取

DOM 重点核心

关于 dom 操作,我们主要针对元素的操作,主要有创建、增、删、改、查、属性操作、事件操作。

1. 创建

  1. document.write
  2. innerHTML
  3. createElement

2. 增

  1. appendChild
  2. insertBefore

3. 删

  1. removeChild

4. 改

主要修改 dom 的元素属性,dom 元素的内容、属性,表单的值等

  1. 修改元素属性:srchreftitle
  2. 修改普通元素内容:innerHTMLinnerText
  3. 修改表单元素:valuetypedisabled
  4. 修改元素样式:styleclassName

5. 查

主要获取查询 dom 的元素

  1. DOM 提供的 API 方法:getElementByIdgetElementsByTagName 古老方法不太推荐
  2. H5 提供的新方法:querySelectorquerySelectorAll 提倡
  3. 利用节点操作获取元素:父(parentNode)、子(children)、兄(previousElementSiblingnextElementSibling)提倡

6. 属性操作

主要针对于自定义属性

  1. setAttribute:设置 dom 的属性值
  2. getAttribute:得到 dom 的属性值
  3. removeAttribute:移除属性

7. 事件操作

给元素注册事件,采取 事件源.事件类型 = 事件处理程序

image.png

事件对象

  1. e.target 返回的是触发事件的对象(元素),this 返回的是绑定事件的对象(元素)
  2. 区别:e.target 点击了哪个元素,就返回哪个元素。this 哪个元素绑定了这个点击事件,那么就返回谁

事件委托(代理、委派)

  • 事件委托
    • 事件委托也称为事件代理,在 jQuery 里面称为事件委派
  • 事件委托的原理
    • 不是每个子节点单独设置事件监听器,而是事件监听器设置在其父节点上,然后利用冒泡原理影响设置每个子节点

鼠标事件

image.png