DOM分类及介绍,控制节点及节点属性,对象滚动距离及可见高和总高,Event属性
DOM的分类
核心DOM:提供了操作HTML文档(显示数据)或XML(储存数据)的公共的属性和方法。
HTMLDOM:针对HTML文档,提供专有的属性和方法。
XMLDOM:针对XML文档,提供专有的属性和方法。//暂时不用理解
EventDOM:事件DOM,提供了很多的常用事件。
CSSDOM:提供了操作CSS的一个接口。
DOM中节点类型
document文档节点:代表整个网页,document文档节点不对应标记。是访问文档中各元素的起点。
element元素节点:元素节点对应于网页中的各标记。
attribute属性节点:每个元素都有若干个属性。
text文本节点:文本节点是最底层的节点。
核心DOM公共属性和方法
要用核心DOM必须去掉DTD类型定义
在Firefox下,会把空格和换行当成文本节点,所以要把所有空格和换行都去掉。
nodeName:节点名称。
nodeValue:节点的值。
firstChild:第一个子节点。
lastChild:最后一个子节点
parentNode:父节点。
childNodes:子节点列表,是一个数组。//当一个节点的子节点的个数多的时候可以用。
查找HTML节点方法
document.firstChild
document.documentElement(兼容性较好)
查找body节点方法
document.firstChild.lastChild
document.body(推荐使用)
控制节点属性
getAttribute(节点某个属性名):获取节点属性的值。
setAttribute(属性名,属性值):给节点添加属性。
removeAttribute(属性名):删除节点属性。
控制节点
createElement(节点名称):创建节点。
appendChild(追加创建的节点的名称):追加节点(输出节点),要追加到节点的父节点下。
removeChild(删除创建的节点的名称):删除节点,要删除父节点下的节点。
HTMLDOM查找节点方法
document.getElementById(“id名”):根据id查找
parentNode.getElemenstByTagName(标签名字):查找的是所有名字的标签,返回是一个数组。
元素对象属性
tagName:与nodeName功能一样。
className:与class属性功能一样。
innerHTML:获取标签里面的所有内容,用于双标签。
offsetWidth:指元素的可见宽度。只读属性。没有px单位
offsetHeight:值元素的可见高度。只读属性。没有px单位
scrollWitdh:指元素的总宽度。只读属性。没有px单位
scrollHeight:指元素的总高度。只读属性。没有px单位
scrollTop:当向下拖动滚动条时,向上滚动的距离。可写属性,没有px单位
scrollLeft:当向右拖动滚动条时,向左滚动的距离。可写属性,没有px单位
ElementDOM
事件属性
HTML中的事件属性:onMouseOver、onLoad、onClick……
JS中的事件属性:onmouseover、onload、onclick……//全小写
事件发生后调用的一定是JS函数。
Event对象简介
当事件发生时,会自动向事件调用函数,传递一个event参数。那么,这个event参数,就是event对象。
Event对象的作用:可以获取当前事件发生时的环境信息。如:点击时的坐标值。
Event对象属性
type:获取事件类型。
clientX和clientY:获取相对浏览器窗口的坐标。
pageX和pageY:获取相对网页的坐标。
screnenX和screenY:获取相对屏幕的坐标。
引入Event对象
通过事件调用函数传递event参数,函数接受参数,该参数就是Event对象。
通过给对象绑定事件执行函数,函数接受参数就是Event对象。
IE中的Event
在IE中,Event是对象window对象的一个方法,不用引入,可以直接用该方法。如:window.event或event。
IE中Event属性
type:获取事件类型。
clientX和clientY:获取相对浏览器窗口的坐标。
X和Y:获取相对网页的坐标。
screnenX和screenY:获取相对屏幕的坐标。