JavaScript Dom

DOMDocument Object Model文档对象模型的缩写。根据W3C DOM规范(http://www.w3.org/DOM/),DOM是一种与浏览器,平台,语言无关的接口,使得你可以访问页面其他的标准组件。简单理解,DOM解决了NetscapeJavascriptMicrosoftJscript之间的冲突,给予web设计师和开发者一个标准的方法,让他们来访问他们站点中的数据、脚本和表现层对像。

   考虑一个html文件:

     <html>

<head><title>测试</title></head>

<body>

<p>测试</p>

</body>

</html>

 

1.    访问节点:

   访问html元素:var oHtml=document.documentElement;
获取head元素:
var oHead=oHtml.firstChild;
获取body元素:var oBody=oHtml.lastChild; 或者 var oBody=document.body;

   也可以通过childNodes来做同样的工作:
var oHead=oHtml.childNodes[0]
或者 oHtml.childNodes.item(0);
var oBody=oHtml.childNodes[1]
或者 oHtml.childNodes.item(1);

 

   判断节点间关系:

2.    检测节点类型:
通过节点的nodeType属性来检验节点类型:
alert(document.nodeType);  //
输出9

   IE6不支持,不过你可以自定义一个JS对象Node

.处理特性
处理特性可以使用标准的NameNodeMap中的方法:
getNamedItem(name) removeNamedItem(name)  setNamedItem(node)    item(pos)

比如:<p id=”test”>测试</p>
假设变量oP是上面的p节点的引用,我们要访问oPid属性
:
var sId=oP.attributes.getNamedItem(“id”).nodeValue;

这些方法用起来很累赘,所以DOM又定义了三个方法来简化:
getAttribute(name)         ——
返回名称为name的属性的值

setAttribute(name,value)   ——
顾名思义
removeAttribute(name)      ——
顾名思义 

上面的例子可以改写为:
var sId=oP.getAttribute(“name”);

4.访问指定节点:
getElementByTagName(name),getElementByName(name),getElementById(id)

 

 

总结一下:

u     一份文档就是一棵节点树

u     节点分为不同的类型:元素节点、属性节点和文本节点等。

u     getElementById()方法将返回一个对象,该对象对应着文档里的一个特定的元素节点。

u     getElementsByTagName()方法将返回一个对象数组,它们分别对应着文档里的一个特定的元素节点。

u     这些节点中的每个都是一个对象。

Leave a comment

Your comment

*
To prove you're a person (not a spam script), type the security word shown in the picture. Click on the picture to hear an audio file of the word.
Click to hear an audio file of the anti-spam word