js DOM Node类型

DOM(文档对象模型)是针对HTML和XML文档的一个API。

DOM可以将任何HTML或XML文档描绘成一个由多层节点构成的、以特定节点为根节点的树形结构。节点分为12种不同的类型,每种类型分别表示文档中的不同信息及(或)标记。这些类型都继承自一个基类型。

以下面为例:

<html> <!--文档元素,文档节点的子节点,是文档的最外层元素。每个文档只有一个文档元素。-->
    <head>
        <title>My article</title>
    </head>
    <body>
        <p>Hello world</p>
    </body>
</html>

文档节点是每个文档的根节点。文档中的其他所有元素都包含在文档元素中。

1、Node类型

JavaScript中的所有节点类型都继承自Node类型。

每个节点都有一个nodeType属性(someNode.nodeType),表面节点的类型。Node类型中定义了12个数值常量,任何节点类型必居其一:

要了解节点的具体信息,可以使用nodeName和nodeValue。对于元素节点,nodeName保存的始终都是元素的标签名,而nodeValue的值则始终为null。

节点关系

操作节点

appendChild(newNode)——向childNodes列表末尾添加一个节点,返回新增的节点。如果传入到appendChild()的节点已经是文档的一部分,那结果是将该节点从原来的位置转移到新位置。

insertBefore(要插入的节点,作为参照的节点)——插入节点,把节点放在childNodes列表中某个特定的位置上,返回插入的节点。插入节点后,被插入的节点会变成参照节点的前一个同胞节点(previousSibling)。

replaceChild(要插入的节点,要替换的结点)——替换节点,返回要替换的节点并从文档树中删除。

removeChild(要移除的节点)——移除节点,返回被移除的节点。

操作的都是某个节点的子节点,要使用这些方法必须先取得父节点,使用parentNode 属性。被替换或者移除的节点仍然在文档中,但是在文档中已经没有了自己的位置。

下面两个方法适用于所有节点:

cloneNode( )——接受的参数是Boolean值,如果为true,执行深复制,即复制节点及整个子节点树;如果为false,执行浅复制,只复制节点本身。复制后返回的节点副本属于文档所有,但并没有为它指定父节点,

normallize()——处理文档数的文本节点。

 

posted @ 2015-12-18 15:27  tianxintian22  阅读(927)  评论(0编辑  收藏  举报