有些類型我們用得比較少,例如:Comment類型、CDATASection類型、DocumentType類型,但偶爾也會用到,接下來我們來由南昌網(wǎng)站設(shè)計(jì)公司百恒網(wǎng)絡(luò)開發(fā)工程師向大家做一些簡介紹,若在實(shí)際開過程中遇到需要使用也可查閱。
1. Comment類型
? ? ? ?注釋在DOM中是通過Comment類型來表示的。Comment節(jié)點(diǎn)具有下列特征:
? ? ? ?◎nodeType的值為8;
? ? ? ?◎nodeName的值為"#comment";
? ? ? ?◎nodeValue的值是注釋的內(nèi)容;
? ? ? ?◎parentNode可能是Document或Element;
? ? ? ?◎不支持(沒有)子節(jié)點(diǎn)。
? ? ? ?Comment類型與Text類型繼承自相同的基類,因此它擁有除splitText()之外的所有字符串操作方法。與Text類型相似,也可以通過nodeValue或data屬性來取得注釋的內(nèi)容。
? ? ? ?注釋節(jié)點(diǎn)可以通過其父節(jié)點(diǎn)來訪問。以下面的代碼為例:
? ? ? ?var div=document. getElementByld( "myDiv");
? ? ? ?var comment=div. firstChild;
? ? ? ?alert (comment. data); //"A comment"
? ? ? ?另外,使用document.createComment()并為其傳遞注釋文本也可以創(chuàng)建注釋節(jié)點(diǎn),如下面的例子所示:
? ? ? ?var comment=document. createComment("A comment ");
? ? ? ?顯然,開發(fā)人員很少會創(chuàng)建和訪問注釋節(jié)點(diǎn),因?yàn)樽⑨尮?jié)點(diǎn)對算法鮮有影響。此外,瀏覽器也不會識別位于標(biāo)簽后面的注釋。如果要訪問注釋節(jié)點(diǎn),一定要保證它們是元素的后代(即
位于和之間)。
2. CDATASection類型
? ? ? ?CDATASection類型只針對基于XML的文檔,表示的是CDATA區(qū)域。與CoIranent類似,
? ? ? ?CDATASection類型繼承自Text類型,因此擁有除spiltText()之外的所有字符串操作方法。
? ? ? ?CDATASection節(jié)點(diǎn)具有下列特征:
? ? ? ?◎nodeType的值為4;
? ? ? ?◎nodeName的值為"#cdata-section";
? ? ? ?◎nodeValue的值是CDATA區(qū)域中的內(nèi)容;
? ? ? ?◎parentNode可能是Document或Element;
? ? ? ?◎不支持(沒有)子節(jié)點(diǎn)。
? ? ? ?CDATA區(qū)域只會出現(xiàn)在XML文檔中,因此多數(shù)瀏覽器都會把CDATA區(qū)域錯誤地解析為Comment 或Element。以下面的代碼為例:
? ? ? ?var comment=div. firstChild;
? ? ? ?alert (comment. data); //"A comment"
? ? ? ?另外,使用document.createComment()并為其傳遞注釋文本也可以創(chuàng)建注釋節(jié)點(diǎn),如下面的例子所示:
? ? ? ?var comment=document. createComment("A comment ");
? ? ? ?顯然,開發(fā)人員很少會創(chuàng)建和訪問注釋節(jié)點(diǎn),因?yàn)樽⑨尮?jié)點(diǎn)對算法鮮有影響。此外,瀏覽器也不會識別位于標(biāo)簽后面的注釋。如果要訪問注釋節(jié)點(diǎn),一定要保證它們是元素的后代(即
位于和之間)。
2. CDATASection類型
? ? ? ?CDATASection類型只針對基于XML的文檔,表示的是CDATA區(qū)域。與CoIranent類似,
? ? ? ?CDATASection類型繼承自Text類型,因此擁有除spiltText()之外的所有字符串操作方法。
? ? ? ?CDATASection節(jié)點(diǎn)具有下列特征:
? ? ? ?◎nodeType的值為4;
? ? ? ?◎nodeName的值為"#cdata-section";
? ? ? ?◎nodeValue的值是CDATA區(qū)域中的內(nèi)容;
? ? ? ?◎parentNode可能是Document或Element;
? ? ? ?◎不支持(沒有)子節(jié)點(diǎn)。
? ? ? ?CDATA區(qū)域只會出現(xiàn)在XML文檔中,因此多數(shù)瀏覽器都會把CDATA區(qū)域錯誤地解析為Comment 或Element。以下面的代碼為例:
? ? ? ?這個例子的元素應(yīng)該包含一個CDATASection節(jié)點(diǎn)??墒牵拇笾髁鳛g覽器無一能夠這樣解析它。即使對于有效的XHTML頁面,瀏覽器也沒有正確地支持嵌入的CDATA區(qū)域。
? ? ? ?在真正的XML文檔中,可以使用document.createCDataSection()來創(chuàng)建CDATA區(qū)域,只須為其傳人節(jié)點(diǎn)的內(nèi)容即可。
? ? ? ?在除IE之外的所有瀏覽器中,都可以訪問CDATASection類型的構(gòu)造函數(shù)和原型。
3. DocumentType類型
? ? ? ?DocumentType類型在Web瀏覽器中并不常用,僅有Firefox、Safari和Opera支持它@。Document Type包含著與文檔的doctype有關(guān)的所有信息,它具有下列特征:
? ? ? ?◎nodeType的值為10;
? ? ? ?◎nodeName的值為doctype的名稱;
? ? ? ?◎nodeValue的值為null;
? ? ? ?◎parentNode是Document;
? ? ? ?◎不支持(沒有)子節(jié)點(diǎn)。
? ? ? ?在DOMl級中,DocumentType對象不能動態(tài)創(chuàng)建,而只能通過解析文檔代碼的方式來創(chuàng)建。支持它的瀏覽器會把DocumentType對象保存在document.doctype中。DOMI級描述了DocumentType
對象的3個屬性:name、entities和notations。其中,name表示文檔類型的名稱;entities是由文檔類型描述的實(shí)體的NaInedNodeMap對象;notations是由文檔類型描述的符號的NamedNodeMap
對象。通常,瀏覽器中的文檔使用的都是HTML或XHTML文檔類型,因而entities和notations 都是空列表(列表中的項(xiàng)來自行內(nèi)文檔類型聲明)。但不管怎樣,只有name屬性是有用的。這個屬性
中保存的是文檔類型的名稱,也就是出現(xiàn)在 ? ? ? ?
? ? ? ?DocumentType的name屬性中保存的就是"HTML ":
? ? ? ?alert( document. doctype. name); //"HTML"
? ? ? ?IE不支持DocumentType,因此document.doctype的值始終都等于null??墒?,IE會把文檔 類型聲明錯誤地解釋為注釋,并且為它創(chuàng)建一個注釋節(jié)點(diǎn)。
? 本文僅限內(nèi)部技術(shù)人員學(xué)習(xí)交流,不得作于其他商業(yè)用途.希望此文對廣技人員有所幫助。原創(chuàng)文章出自:南昌APP開發(fā)公司-百恒網(wǎng)絡(luò)http://www.gimmickmag.com/app/index.html如轉(zhuǎn)載請注明出處!
? ? ? ?在真正的XML文檔中,可以使用document.createCDataSection()來創(chuàng)建CDATA區(qū)域,只須為其傳人節(jié)點(diǎn)的內(nèi)容即可。
? ? ? ?在除IE之外的所有瀏覽器中,都可以訪問CDATASection類型的構(gòu)造函數(shù)和原型。
3. DocumentType類型
? ? ? ?DocumentType類型在Web瀏覽器中并不常用,僅有Firefox、Safari和Opera支持它@。Document Type包含著與文檔的doctype有關(guān)的所有信息,它具有下列特征:
? ? ? ?◎nodeType的值為10;
? ? ? ?◎nodeName的值為doctype的名稱;
? ? ? ?◎nodeValue的值為null;
? ? ? ?◎parentNode是Document;
? ? ? ?◎不支持(沒有)子節(jié)點(diǎn)。
? ? ? ?在DOMl級中,DocumentType對象不能動態(tài)創(chuàng)建,而只能通過解析文檔代碼的方式來創(chuàng)建。支持它的瀏覽器會把DocumentType對象保存在document.doctype中。DOMI級描述了DocumentType
對象的3個屬性:name、entities和notations。其中,name表示文檔類型的名稱;entities是由文檔類型描述的實(shí)體的NaInedNodeMap對象;notations是由文檔類型描述的符號的NamedNodeMap
對象。通常,瀏覽器中的文檔使用的都是HTML或XHTML文檔類型,因而entities和notations 都是空列表(列表中的項(xiàng)來自行內(nèi)文檔類型聲明)。但不管怎樣,只有name屬性是有用的。這個屬性
中保存的是文檔類型的名稱,也就是出現(xiàn)在 ? ? ? ?
? ? ? ?DocumentType的name屬性中保存的就是"HTML ":
? ? ? ?alert( document. doctype. name); //"HTML"
? ? ? ?IE不支持DocumentType,因此document.doctype的值始終都等于null??墒?,IE會把文檔 類型聲明錯誤地解釋為注釋,并且為它創(chuàng)建一個注釋節(jié)點(diǎn)。
? 本文僅限內(nèi)部技術(shù)人員學(xué)習(xí)交流,不得作于其他商業(yè)用途.希望此文對廣技人員有所幫助。原創(chuàng)文章出自:南昌APP開發(fā)公司-百恒網(wǎng)絡(luò)http://www.gimmickmag.com/app/index.html如轉(zhuǎn)載請注明出處!