JavaScript中的DOM

2020-12-07  本文已影响0人  沧澈

DOM(文档对象模型)是针对HTML和XML文档的一个API(应用程序编程接口)

1. Node类型

NodeType Named Constant
1 ELEMENT_NODE
2 ATTRIBUTE_NODE
3 TEXT_NODE
4 CDATA_SECTION_NODE
5 ENTITY_REFERENCE_NODE
6 ENTITY_NODE
7 PROCESSING_INSTRUCTION_NODE
8 COMMENT_NODE
9 DOCUMENT_NODE
10 DOCUMENT_TYPE_NODE
11 DOCUMENT_FRAGMENT_NODE
12 NOTATION_NODE

2.节点层次

要了解节点的具体信息,可以使用nodeName和nodeValue这两个属性。这两个属性的值完全取决于节点的类型。在使用这两个值以前,最好是像下面这样先检测一下节点的类型。

每个节点都有一个childNodes属性,其中保存着一个NodeList对象。NodeList是一种类数组对象,用于保存一组有序的节点,可以通过位置来访问这些节点。
注意:虽然可以通过方括号语法来访问NodeList的值,而且这个对象也有length属性,但它并不是Array的实例

 firstChild()  // 获取父节点第一个子节点 

 lastChild()  // 获取父节点最后一个子节点 

hasChildNodes() // 是否含有子节点 ,包含一或多个子节点的情况下返回true

1.appendChild():用于向childNodes列表的末尾添加一个节点并返回新增的节点。

2.insertBefore():这个方法接受两个参数:要插入的节点和作为参照的节点

3.replaceChild():接受的两个参数是:要插入的节点和要替换的节点。要替换的节点将由这个方法返回并从文档树中被移除,同时由要插入的节点占据其位置。

4.removeChild():接受一个参数,即要移除的节点,被移除的节点将成为方法的返回值。

要使用这几个方法必须先取得父节点(使用parentNode属性),另外,并不是所有类型的节点都有子节点,如果在不支持子节点的节点上调用了这些方法,将会导致错误发生

有两个方法是所有类型的节点都有的:
5.cloneNode():用于创建调用这个方法的节点的一个完全相同的副本。
接受一个布尔值参数,表示是否执行深复制

6.normalize():这个方法唯一的作用就是处理文档树中的文本节点

来源:《JJavaScript高级程序设计》

上一篇下一篇

猜你喜欢

热点阅读