DOM
- 1.HTML文档的浏览器JS接口
- 2.DOM层级结构中根对象是
window.document
,有通用属性和方法的对象集被称为DOM 节点
- 3.获取
DOM
节点的方法:- 遍历DOM层级结构
- 使用DOM查找方法
- 使用诸如
getElementByClassName()
等
- 4.常用的节点属性和方法:
textContent
一个节点和其子孙中的文本内容innerHTML
描述元素后代的HTML格式内容。outerHTML
同innerHTML
但包含元素标签getAttribute()
获取一个元素的属性
- 5.常用的
DOM
修改操作- 改变元素的内容
elemnt.innerHTML=""
img.src=""
- 使元素可见或隐藏
element.style.display="none"
- 改变元素的内容
- 6.
DOM
和CSS
交互- 更改元素类,element.className=“active”
- 更改元素风格,
element.style.color=""
- 通过
CSS操作符
查询DOM
,document.querySelector()
- 7.更改节点结构
document.createElement()
- 添加元素,
parent.appendChild(element)
或parent.insertBefore(element,sibling)
- 删除元素
node.removeChild(oldNode)
- 8.DOM的坐标系
- 原点位于屏幕左上角
- 元素的位置取决于元素外边距的左上角
- 读取位置
element.offsetLeft
,element.offsetTop
- 元素的坐标是想对于
element.offsetParent
,这不一定等同于element.parentNode
- 9.元素定位相关
- 通常元素被浏览器自动定位为文档流的一部分
- 绝对定位会使得一个元素脱离原文档流
- 一个
offsetParent
元素的原点位于其border
的左上角
- 10.定位情景
- 每个元素都有一个
offsetParent
- 一个元素定位后,其坐标如
element.style.left
是相对于其offsetParent
的 - 缺省的
offsetParent
元素是<body>
.
- 每个元素都有一个
- 11.元素尺寸
- 读取尺寸
element.offsetWidth
和element.offsetHeight
- 更改尺寸
element.style.width
- 读取尺寸
Events
- 1.DOM通过事件与JS之间交互
- 2.事件类型
- 鼠标相关:鼠标移动、按钮点击、进入离开元素
- 键盘相关:上、下、按下
- 焦点相关:获取焦点、失去焦点
- 输入框内容的改变、表单提交
- 时间事件
- 其他,诸如:元素内容改变等
- 3.事件处理:何时发生、在哪发生、需要做什么三要素
- 4.指明一个事件的JS代码
- 在
HTML
中,<div onclick=""/>
- 通过
DOM
的方式,element.onclick、element.addEventListener
- 在
- 5.事件对象
- Event Listener 函数传递事件对象,典型的子类是
MouseEvent
、KeyboardEvent
- 事件的一些属性,
type
如click
、mouseDown
等,timeStamp
事件创建的时间,currentTarget
监听器被注册的元素,target
分发事件的元素
- Event Listener 函数传递事件对象,典型的子类是
- 6.鼠标和键盘事件
- button,
- pageX、pageY,鼠标相对于文档流左上角的位置
- screenX、screenY,在屏幕坐标系中鼠标的位置
- keyCode,键盘被按下
- charCode,整数编码值被按下
- 可拖动矩形效果的制作
- 7.事件冒泡与事件捕获,事件冒泡和事件捕获分别由微软和网景公司提出,这两个概念都是为了解决页面中事件流(事件发生顺序)的问题
- 8.Node.js使用JS的事件分发引擎用于服务器端编程
- 9.时间相关时间
- 5s后执行某函数,
token=setTimeout(myFunc,5*1000)
- 每50ms执行一次,
token=setInterval(myFunc,50)
- 取消一个计时器,
clearInterval(token)
- 5s后执行某函数,