1、什么是DOM?
DOM(Document Object Model)文本对象模型,是W3C组织推荐的处理可扩展标记语言HTML或XML的标准编程接口;通过这些借口可以改变网页的内容、结构和样式。
意义:
(1)对于Javascript而言,为了能够使JS操作HTML.JS就有了一套自己的DOM编程接口
(2)对于HTML而言,DOM使得HTML形成一棵dom树,包含文档、元素、节点
关于dom操作,我们主要针对于元素的操作。主要有创建、增、删、改、查、属性操作、事件操作。
1.1创建
(1)document.write在文档流执行完后才调用,会覆盖掉原来的内容
(2)innerHTML用数组不断push添加新的元素节点,效率较高,直接使用for循环创建则效率较低
(3)createElement创建元素、添加到合适的位置
1.2增
(1)appendChild增加元素到父级元素的最后
(2)insertBefore添加元素到前面某个指定位置
1.3删
removeChild
1.4改
主要修改DOM的元素属性,dom元素的内容、属性、表单的值等
(1)修改元素属性:src、href、title等
(2)修改普通元素内容:innerHTML、innerText
(3)修改表单元素:value、type、disabled(按钮禁用)等
(4)修改元素样式:style、className
1.5查
(1)DOM提供的API方法:getElementById、getElementByTagName古老方法不推荐使用
(2)H5提供的新方法:querySelector、querySelectorAll推荐
(3)利用节点操作获取元素:父(parentNode)子(children)兄(previousElementSibling、nextElementSibling)等
1.6属性操作
针对于自定义属性,index获得下标很好用setAttribute(‘index’)=i
(1)setAttribute:设置DOM的属性值
(2)getAttribute:得到dom的属性值
(3)removeAttribute:移除属性值
1.7事件操作
给元素注册事件,采取事件源.事件类型=事件处理程序
鼠标事件 | 触发条件 |
---|---|
onclick | 鼠标点击左键触发 |
onmouseover | 鼠标经过触发 |
onmouseout | 鼠标离开触发 |
onfocus | 获取鼠标焦点触发 |
onblur | 失去鼠标焦点触发 |
onmousemove | 鼠标移动触发 |
onmouseup | 鼠标弹起触发 |
onmousedown | 鼠标按下触发 |