Comment类型、CDATASection类型、DocumentType类型使用方
发布时间:2022/01/11 丨 文章来源:未知 丨 浏览次数:
有些类型我们用得比较少,例如:Comment类型、CDATASection类型、DocumentType类型,但偶尔也会用到,接下来我们来由南昌网站设计公司网络开发工程师向大家做一些简介绍,若在实际开过程中遇到需要使用也可查阅。
1. Comment类型
? ? ? ?注释在DOM中是通过Comment类型来表示的。Comment节点具有下列特征:
? ? ? ?◎nodeType的值为8;
? ? ? ?◎nodeName的值为"#comment";
? ? ? ?◎nodeValue的值是注释的内容;
? ? ? ?◎parentNode可能是Document或Element;
? ? ? ?◎不支持(没有)子节点。
? ? ? ?Comment类型与Text类型继承自相同的基类,因此它拥有除splitText()之外的所有字符串操作方法。与Text类型相似,也可以通过nodeValue或data属性来取得注释的内容。
? ? ? ?注释节点可以通过其父节点来访问。以下面的代码为例:
? ? ? ?在此,注释节点是
元素的一个子节点,因此可以通过下面的代码来访问它:
? ? ? ?var div=document. getElementByld( "myDiv");
? ? ? ?var comment=div. firstChild;
? ? ? ?alert (comment. data); //"A comment"
? ? ? ?另外,使用document.createComment()并为其传递注释文本也可以创建注释节点,如下面的例子所示:
? ? ? ?var comment=document. createComment("A comment ");
? ? ? ?显然,开发人员很少会创建和访问注释节点,因为注释节点对算法鲜有影响。此外,浏览器也不会识别位于标签后面的注释。如果要访问注释节点,一定要保证它们是元素的后代(即
位于和之间)。
2. CDATASection类型
? ? ? ?CDATASection类型只针对基于XML的文档,表示的是CDATA区域。与CoIranent类似,
? ? ? ?CDATASection类型继承自Text类型,因此拥有除spiltText()之外的所有字符串操作方法。
? ? ? ?CDATASection节点具有下列特征:
? ? ? ?◎nodeType的值为4;
? ? ? ?◎nodeName的值为"#cdata-section";
? ? ? ?◎nodeValue的值是CDATA区域中的内容;
? ? ? ?◎parentNode可能是Document或Element;
? ? ? ?◎不支持(没有)子节点。
? ? ? ?CDATA区域只会出现在XML文档中,因此多数浏览器都会把CDATA区域错误地解析为Comment 或Element。以下面的代码为例:
? ? ? ?这个例子的
元素应该包含一个CDATASection节点。可是,四大主流浏览器无一能够这样解析它。即使对于有效的XHTML页面,浏览器也没有正确地支持嵌入的CDATA区域。
? ? ? ?在真正的XML文档中,可以使用document.createCDataSection()来创建CDATA区域,只须为其传人节点的内容即可。
? ? ? ?在除IE之外的所有浏览器中,都可以访问CDATASection类型的构造函数和原型。
3. DocumentType类型
? ? ? ?DocumentType类型在Web浏览器中并不常用,仅有Firefox、Safari和Opera支持它@。Document Type包含着与文档的doctype有关的所有信息,它具有下列特征:
? ? ? ?◎nodeType的值为10;
? ? ? ?◎nodeName的值为doctype的名称;
? ? ? ?◎nodeValue的值为null;
? ? ? ?◎parentNode是Document;
? ? ? ?◎不支持(没有)子节点。
? ? ? ?在DOMl级中,DocumentType对象不能动态创建,而只能通过解析文档代码的方式来创建。支持它的浏览器会把DocumentType对象保存在document.doctype中。DOMI级描述了DocumentType
对象的3个属性:name、entities和notations。其中,name表示文档类型的名称;entities是由文档类型描述的实体的NaInedNodeMap对象;notations是由文档类型描述的符号的NamedNodeMap
对象。通常,浏览器中的文档使用的都是HTML或XHTML文档类型,因而entities和notations 都是空列表(列表中的项来自行内文档类型声明)。但不管怎样,只有name属性是有用的。这个属性
中保存的是文档类型的名称,也就是出现在 ? ? ? ?
? ? ? ?DocumentType的name属性中保存的就是"HTML ":
? ? ? ?alert( document. doctype. name); //"HTML"
? ? ? ?IE不支持DocumentType,因此document.doctype的值始终都等于null。可是,IE会把文档 类型声明错误地解释为注释,并且为它创建一个注释节点。
? 本文仅限内部技术人员学习交流,不得作于其他商业用途.希望此文对广技人员有所帮助。原创文章出自:南昌APP开发公司-网络http://www.huicuiwang.cn/app/index.html如转载请注明出处!