奇宝库 > javascript节点操作DOMDocument属性和方法

javascript节点操作DOMDocument属性和方法

最近发现DOMDocument对象很重要,XMLHTTP也是。

注意案例。

属性:

1属性存储节点的属性列表(只读)

2 2个子节点存储节点的子节点列表(只读)

3dataType返回该节点的数据类型。

4定义在DTD或XML模式中给定的节点定义(只读)

5Doctype指定文档类型节点(只读)

6documentElement返回文档的根元素(读/写)

7firstChild返回当前节点的第一个子节点(只读)

8实现返回一个XMLDOMImplementation对象。

9lastChild返回当前节点的最后一个子节点(只读)

10返回当前节点的下一个同级节点(只读)

11nodename返回节点的名称(只读)

12nodeType返回节点的类型(只读)

13nodeTypedValue存储节点值(读/写)

14nodeValue返回节点的文本(读/写)

15ownerDocument返回包含此节点的根文档(只读)

16parentNode返回父节点(只读)

17Parsed返回此节点及其子节点是否已被解析(只读)

18Prefix返回名称空间前缀(只读)

19preserveWhiteSpace指定是否保留空白(读/写)

20previousSibling返回该节点的上一个同级(只读)

21Text返回该节点及其后代的文本内容(读/写)

22url返回最近加载的XML文档的url(只读)

23Xml返回节点及其后代的Xml表示(只读)

方法:

1appendChild向当前节点添加一个新的子节点,并将其放在最后一个子节点之后。

2cloneNode返回当前节点的副本。

3createAttribute创建新属性

4createCDATASection创建一个包含给定数据的CDATA节。

5创建注释创建一个注释节点

6createDocumentFragment创建DocumentFragment对象

7createElement创建元素节点

8创建实体引用创建实体引用对象

9createNode创建一个具有给定类型、名称和命名空间的节点。

10createPorcessingInstruction创建一个操作指令节点。

11createTextNode创建一个包含给定数据的文本节点。

12getElementsByTagName返回具有指定名称的元素集合。

13hasChildNodes返回当前节点是否有子节点。

14insertBefore在指定节点前插入子节点。

15Load在指定位置导入XML文档。

16loadXML导入指定字符串的XML文档。

17removeChild从子节点列表中删除指定的子节点。

18replaceChild从子节点列表中替换指定的子节点。

19Save将xml文件保存到指定的节点。

20selectNodes匹配指定的节点并返回匹配节点的列表。

21selectSingleNode匹配指定的节点并返回第一个匹配的节点。

22transformNode使用指定的样式表转换节点及其后代。

23transformNodeToObject使用指定的样式表将节点及其后代转换为对象。

*********************************

文档对象模型

随着DOM(文档对象模型)概念的引入,这个API使得HTML更加强大。但是有些学DHTML的朋友还是有些困难,只是因为现在的手册不够科学,按字母顺序写。

其实DOM最重要的是掌握node和node的关系。如果你想学习DHTML中的DOM,不要从头到尾读一遍。

一些属性和方法。你有三国里张松的‘过目不忘’能力吗?不,让我来分析一下:

其实DOM教给我们的是一个层次结构,你可以理解为一个树形结构,就像我们的目录,一个有子目录和子目录的根目录。

目录.

根节点:

DOM层次结构中的每个对象都称为一个节点,以html超文本标记语言为例:整个文档的一个根是HTML,可以在DOM中使用。

Document.documentElement来访问它,它是整个节点树的根节点。

子节点:

一般来说,根节点下最大的子节点是主文档区域主体。要访问body标签,您应该写:

文档.正文

body区域的所有文本和HTML标签都是文档的节点,分别称为文本节点和元素节点(或标签节点)。大家都知道HTML归根结底只是文本。

无论什么样的网页都必须由这两个节点组成,也只能由这两个节点组成。

节点之间的关系:

节点之间的关系也是DOM中最重要的关节。如何正确引用节点对象,一定要明确节点树中每个节点的描述。在DHTML中,

Javascript使用每个节点对象的一整套方法和属性来描述其他节点对象。

节点的绝对引用:

返回文档的根节点。

document.documentElement

返回当前文档中激活的标签节点。

文档. activeElement

返回鼠标移出的源节点。

事件. fromElement

返回鼠标移动到的源节点。

事件.到元素

返回激活事件的源节点。

event.srcElement

节点的相对引用:(假设当前节点对是节点)

返回父节点

节点.父节点

node.parentElement

返回子节点的集合(包括文本节点和标签节点)。

节点.子节点

返回子标记节点的集合。

节点.子节点

返回子文本节点的集合。

节点.文本节点

返回第一个子节点。

node.firstChild

返回最后一个子节点。

node.lastChild

返回到下一个节点。

node.nextSibling

返回到上一个节点。

node.previousSibling同级

节点的各种操作:(设当前节点为节点)

添加标签节点句柄:

document . createelement(s node)//参数是要添加的节点的标记名,例如:new node=document . createelement(' div ');

1.添加节点:

追加子节点:

Node.appendChild(oNode) //oNode是生命的新节点句柄,例如:node.appendChild(newnode)

应用程序标签节点

节点。APPLY ELEMENT (ONODE,SW where)//on ode是新添加的节点句柄。其中有两个值:outside/inside,它被添加到当前节点的外部或内部。

插入节点

inode.insertBefore()

node.insertAdjacentElement()

node.replaceAdjacentText()

2.修改节点:

删除节点

节点.移除()

node.removeChild()

node.removeNode()

替换节点

node.replaceChild()

node.replaceNode()

node.swapNode()

2.复制节点:

返回复制复制节点引用。

Node.cloneNode(bAll)//bAll是一个布尔值,true/false。是否要克隆此节点的所有子节点?

3.节点信息

包括一个节点?

node.contains()

有子节点吗?

node.hasChildNodes()

*******************************************************

以下操作xml for javascript。

脚本语言='JavaScript '

!-

var doc=new ActiveX object(' MSXML 2。DOM document’);//ie5.5,CreateObject(‘微软。XMLDOM ')

//加载文档

//doc . load(' b . XML ');

//创建文件头

var p=doc . createprocessinginstruction(' XML '' version=' 1.0 ' encoding=' GB 2312 ' ');

//添加文件头

doc . appendchild(p);

//用于直接加载时获取根联系人。

//var root=doc . documentelement;

//通过两种方式创建根联系人

//var root=doc . createelement(' students ');

var root=doc.createNode(1,'学生'' ');

//创建子联系人

var n=doc.createNode(1,' ttyp '' ');

//指定子联系人文本

//n.text='这是测试'

//创建sun联系人。

var o=doc . createelement(' sex ');

O.text='男'//指定其文本

//创建属性

var r=doc . create attribute(' id ');

r.value=' test

//添加属性

n . setattributenode(r);

//创建第二个属性

var R1=doc . create attribute(' class ');

R1 . value=' TT '

//添加属性

n . setattributenode(R1);

//删除第二个属性

n . remove attribute(' class ');

//添加sun联系人

n . appendchild(o);

//添加文本联系人

n . appendchild(doc . create textnode('这是一个文本节点。));

//添加注释

n . appendchild(doc . create comment('这是注释\ n '));

//添加子联系人

root . appendchild(n);

//复制联系人

var m=n.cloneNode(真);

root . appendchild(m);

//删除联系人

root . remove child(root . child nodes(0));

本文来自网络,不代表本站立场,转载请注明出处: