DOM(Document object model)文档对象模型
DOM编程思想,用 JavaScript控制程序逻辑,用DOMAPI查找目标元素,执行操作。
HTML 节点树所有类型的节点类型父类 node。类型document,element,attr,text。
白话,用dom对象通过方法实现对元素的操作。
操作我个人认为分三步构成
**获取需要操作的DOM对象
注册事件
进行具体操作**
具体获取元素的方法没什么好说的。
事件在JavaScript里就已经讲过
具体操作不过是调用各种方法,需要熟能生巧。
作为jquery使用的基础。
注册事件的方式
虽然有三种方式,但实际上什么都讲分离,为了低耦合高并发的时代,有些方法根本不可能会选择。
在标签里直接注册事件,然后把在里面调用函数。
在script代码块里用dom对象注册事件。
通过事件监听器注册函数。
方法二会和方法一冲突,但方法一耦合度最高,所以重复时方法一覆盖方法二。
方法三存放的位置和一二不同,所以可以为同一个事件注册多个函数,而且和一二不冲突。
看上去三好像更优秀。
事件冒泡机制
事件冒泡机制是针对嵌套型结构设置的,当一个操作引发多个事件时,由内而外依次执行,
调用返回event的stopPropagation方法,可以终止事件。
`
$对象
$对象是JQuery编程核心,是一个函数对象。
传入function对象会自动注册为页面加载时间
传入DOM对象,会自动封装成JQuery对象,是个数组
传入String类型的选择器,自动封装成jQuery对象数组 (沿用了CSS中的选择器)
传入String的html文本,可以以创建DOM对象,就是标签元素
jQuery对象
jQuery对象封装了DOM对象,也有方法可以对其进行操作。就是通过封装的方法
jQuery对象好像是个数组,为下面的隐式迭代做准备
隐式迭代
在jQuery中赋值是对对象所包含的所有DOM对象进行赋值。
取值只返回索引0的值。
链式编程
jQuery对象的方法多数返回的是对象本身,因此可以使用链式编程,通过遍历方法对其子元素或者兄弟元素,祖先元素进行处理,进行链式编程,但这样会使代码过长,理解上可能会造成一定影响。所以不建议这样使用,会用end方法可以返回最近一次操作的上级jQuery对象。
事件处理
jQuery对象事件处理上会对所属所有的DOM对象 都注册事件,这是隐式迭代的方便,但需要注意取值和赋值的差别。