码迷,mamicode.com
首页 > 编程语言 > 详细

javascript学习笔记之DOM

时间:2015-07-17 17:52:37      阅读:126      评论:0      收藏:0      [点我收藏+]

标签:

DOM(文档对象模型),猫叔了一个层次化的节点树

 

一、DOM NODE相关公共属性与方法

DOM中所有节点都实现了NODE接口,该接口的公共属性和方法如下:

1.节点基本属性

1)NodeType 节点类型,利用12个数值来表示。1代表Element,2代表attribute,3代表Text...

2) NodeName与NodeValue 这两个属性的值完全取决于特定的节点类型

2.节点关系相关属性

I.childNodes属性,返回一个NodeList对象,这是一个有生命,会呼吸的对象,能够实时,动态的反映节点结构。具有length属性,也可以利用方括号或者item()访问其中的节点。

II,parentNode属性,previousSibling属性,nextSibling属性,firstChild属性,lastChild属性。 

IV,ownerDocument属性,该属性指向整个文档的文档节点Document.

3.操作节点相关方法

hasChildNodes()方法

1)appendChild()放回新增的节点

2)insertBefore()

3)replaceChild()

4)removeChild()

5)cloneNode()

6)normalize(),其 作用在于处理文档树中相邻的文本节点

4,查找节点的相关方法

1)getElementById() 返回元素,如果调用者是document,那么就在全文档范围内查找,如果是父元素,那么就在其后辈元素中查找

2)getElementsByTagsName() 返回NodeList,其他同上

5,补充

虽然DOM为操作节点提供了丰富的方法,但是在需要给文档插入大量新html标记的情况下,通过DOM仍然非常麻烦,因为不仅要创建一系列的DOM节点,还要小心地按照正确的顺序插入。因此DOM扩展中定义了一下属性:

1.innerHTML属性  在读模式下,innerHTML返回与调用元素的所有子节点对应的html标记。在写模式下,innerHTML会根据制定的值创建新的DOM树,然后用这个DOM树替换掉原来元素的所有子节点。

2)outerHTML属性  在读模式下,innerHTML返回与调用元素的所有子节点对应的html标记。在写模式下,innerHTML会根据制定的值创建新的DOM树,然后用这个DOM树完全替换掉原来元素。

 

 

 

二、document节点类型

其nodeType为9,nodeName为document,nodeValue为null

1.特有属性

1)docType属性,指向DocumentType子节点

2)documentElement属性,指向html元素

3)body属性,指向body元素

4)title属性,指向文档标题

5)url,domain,referer属性,和http头部的对象字段取值相同

2,特有方法

1)getElementsByName()在获取单元框选中值的时候很有用

2)write(),writeln()用于页面的输出流;

3)open(),close()用于打开和关闭输出流,如果是在页面加载期间使用write(),writeln(),则不需要用到上述两个方法

4)createElement()方法 创建element类型的节点

5)createTextNode()方法,创建Text类型的节点,接受一个参数,为要插入节点中的文本,需要注意的是,作为参数的文本将按照html或者xml的格式进行编码

6)createAttributeNode()方法,创建特性节点

 

三、Elemment类型

nodeType值为1,nodeName为标签名,nodeValue为null

1,特有属性

1)tagName属性 和 nodeName的返回值相同

2)id属性

3)title属性

4)className属性

5)attributes 除非要遍历元素的所有attribute,否则这个属性用的不多

6)style属性,如style.backGround 等,注意的是,这只能获取html代码中内嵌的样式,对于<style>标签中设置的样式,以及外联样式表中的样式,是没有办法获取的。

2,特有方法

1)getAttribute(),setAttribute()和removeAttribute()

 

四、Text类型

NodeType为3,NodeName为#text,nodeValue为节点所包含的文本

1,特有属性

1)data属性,和nodeValue的返回值相同。可以通过appendData(),deleteData(),insertData(offset,text),replaceData(offset,count,text),substringData(offset,count)等方法进行操作

2)length属性,返回文本中字符数目

备注:要访问Element元素中的文本,利用

div.firstChild.data来访问。或者div.childNodes[0].nodeValue来访问

 

五、attr类型

nodeType为1,nodeName为特性名称,nodeValue为特性的值。尽管他们也是节点,但特性并不被认为是dom文档树的一部分。通常使用getAttribute(),setAttribute(),removeAttribute()进行操作

 

最后:

需要注意的是,上述是基本的dom方法,随着前端技术的发展,目前dom也在不断改进,如继承了目前只有类库才提供的选择符方法,html5的data数据操作等。

 

javascript学习笔记之DOM

标签:

原文地址:http://www.cnblogs.com/bobodeboke/p/4654970.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!