全文链接


javascript之DOM技术(一)_javascriptTEXT_NODE                                         3
javascript之DOM技术(一)_javascriptCDATA_SECTION_NODE                 4
javascript之DOM技术(一)_javascriptENTITY_REFERENCE_NODE            5
javascript之DOM技术(一)_javascriptENTITY_NODE                                     6
javascript之DOM技术(一)_javascriptPROCESSING_INSTRCTION_NODE       7
javascript之DOM技术(一)_javascriptCOMMENT_NODE                              8
javascript之DOM技术(一)_javascriptDOCUMENT_NODE                            9
javascript之DOM技术(一)_javascriptDOCUMENT_TYPE_NODE               10
javascript之DOM技术(一)_javascriptDOCUMENT_FRAGMENT_NODE   11
javascript之DOM技术(一)_javascriptNOTATION_NODE                              12


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

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

比如:<p id="test">测试</p>
假设变量oP是上面的p节点的引用,我们要访问oP的id属性:
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)三个方法,不再展开。

5.创建和操作节点:
(1)创建新节点,一张IE(6.0)和FF对DOM Level1的创建新节点方法支持的对照表:

javascript之DOM技术(一)_javascript方法                                                               IE                               FF
javascript之DOM技术(一)_javascriptcreateAttribute(name)                                 Y                                Y
javascript之DOM技术(一)_javascriptcreateCDATASection(text)                        N                                Y
javascript之DOM技术(一)_javascriptcreateComment(text)                                    Y                                Y
javascript之DOM技术(一)_javascriptcreateDocumentFragment()                        Y                                Y
javascript之DOM技术(一)_javascriptcreateElement(tagName)                             Y                                 Y
javascript之DOM技术(一)_javascriptcreateEntityReference(name)                     N                                 Y
javascript之DOM技术(一)_javascriptcreateProcessingInstruction(
javascript之DOM技术(一)_javascripttarget,data)                                                   N                                  Y
javascript之DOM技术(一)_javascriptcreateTextNode(text)                                  Y                                   Y



下面介绍常用的几个方法

(2)createElement(),createTextNode(),appendChild()
例子:

javascript之DOM技术(一)_javascript<html>
javascript之DOM技术(一)_javascript    <head>
javascript之DOM技术(一)_javascript        <title>createElement() Example</title>
javascript之DOM技术(一)_javascript        <script type="text/javascript">
javascript之DOM技术(一)_技术_25            function createMessage() {
javascript之DOM技术(一)_技术_26                var oP = document.createElement("p");
javascript之DOM技术(一)_技术_26                var oText = document.createTextNode("Hello World!");
javascript之DOM技术(一)_技术_26                oP.appendChild(oText);
javascript之DOM技术(一)_技术_26                document.body.appendChild(oP);
javascript之DOM技术(一)_javascript_30            }

javascript之DOM技术(一)_javascript        </script>
javascript之DOM技术(一)_javascript    </head>
javascript之DOM技术(一)_javascript    <body onload="createMessage()">
javascript之DOM技术(一)_javascript    </body>
javascript之DOM技术(一)_javascript</html>
javascript之DOM技术(一)_javascript


在页面载入后,创建节点oP,并创建一个文本节点oText,oText通过appendChild方法附加在oP节点上,为了实际显示出来,将oP节点通过appendChild方法附加在body节点上。此例子将显示Hello World!