JavaScript DOM 操作

DOMDocument Object Model(文档对象模型)

DHTMLDynamic  HTML:动态HTML

XMLDOM

一个XMLDOM,其实是一个内存中的树,一个XML数据

中的每一个<>中的第一个单词,就代表着一个节点。

比如:

<rss>

         <channel/>

</rss>

<channel />,就代表channel节点。如果channel这个节点,直接以/>结尾,那么它就不包含子节点。而rss节点,就是一个包含子节点channel的节点。我们也可以说,rsschannel的父节点,channel就是rss的子节点。根节点,就是没有父节点的节点,也就是顶层节点。

documentElement:这样就能够得到一个XML DOM树的根节点,具体到我们想要分析的RSS文档,就是rss那个节点。

childNodesitem

这样就能够得到一个节点的所有子节点,以一个数组的形式返回。

var childs=node.childNodes;

alert(childs.length);

var itemnode=childs.item(0);

上面的childs就是一个JavaScript的数组,我们可以通过childs.length,得

到这个数组的长度。也可以通过item(int),得到其中的某一个元素,这个元素,

自然也是一个节点。

 

tagName 可以获得一个节点的名称

<rss>tagName自然就是rss<title>tagName,自然就是title。我们的程序就是通过判断tagName,来识别信息的。

outerText(text) 就是一个节点包含的内容

比如:

< author>读书、思考、生活</ author>

那么这个节点的outerText,就是: 读书、思考、生活。

var nodeitem = nodes.item(i); //获取子节点对象

alert(nodeitem.outerText);   //获取节点的文本        

 

setAttribute/ getAttribute设置/获取节点的属性值

如:

setAttribute("属性名","")

 

var obj = document.getElementById("img");

obj.setAttribute("src","图片路径");

 

getAttribute("属性名"):获取属性的值

 

createElement(tagname) 创建标签元素

如:

var op = document..createElement("p"); //创建一个P标签:<p></p>

 

createTextNode() 创建文本节点

如:

var otext = document.createTextNode("Hello World");

 

appendChild() 把文本节点加入到元素中

每种节点类型都有这个方法

如:

var op = document..createElement("p");

var otext = document.createTextNode("Hello World");

op.appendChild(otext);

 

removeChild() 删除一个指定的节点

如:

var op = document.getElementById("p_id");

document.body.removeChild(op);

 

replaceChild() 替换节点

有两个参数:被添加的节点和被替换的节点

如:

var newp = document.createElement("p");

var otext = document.createTextNode("Hello World");

newp.appendChild(otext);

var oldp = document.getElementById("p_id");

document.body.replaceChild(newp,oldp);

 

insertBefore() 插入节点

有两个参数:要添加的节点和插入在哪个节点之前

如:

var newp = document.createElement("p");

var otext = document.createTextNode("Hello World");

newp.appendChild(otext);

var oldp = document.getElementById("p_id");

document.body.insertBefore(newp,oldp);

 

createDocumentFragment() 创建文档碎片节点

一旦把节点添加到document.body(或者它的后代节点)中,页面就会更新并反映出这个变化。

对于少量的更新这是很好的,就像在前面的例子中那样。然而,当要向document添加大量数据时,如果逐个添加这些变动,这个过程有可能会十分缓慢。为解决这个问题,可以创建一个文档碎片,把所有的新节点附加其上,然后把文档碎片的内容一次性添加到document中。

如:

var attrText = ["first","second","third","fourth","fifth","sixth","seventh","eighth","ninth","tenth"];

var oFragment = document.createDocumentFragment();

for(var i=0;i<attrText.length;i++){

         var op = document.createElement("p");

         var otext = document.createTextNode("Hello World");

         op.appendChild(otext);

         oFragment.appendChild(op);

}

document.body.appendChild(oFragment);

 

你可能感兴趣的:(JavaScript,html,xml,生活,读书)