JS里面一共有12种Node类型。要了解Node类型详细信息可以使用nodeName和nodeValue这两个属性。
nodeName、nodeValue 以及 nodeType 包含有关于节点的信息。
nodeName 属性含有某个节点的名称。
元素节点的 nodeName 是标签名称
属性节点的 nodeName 是属性名称
文本节点的 nodeName 永远是 #text
文档节点的 nodeName 永远是 #document
注释:nodeName 所包含的 XML 元素的标签名称永远是大写的
nodeValue
对于文本节点,nodeValue 属性包含文本。
对于属性节点,nodeValue 属性包含属性值。
nodeValue 属性对于文档节点和元素节点是不可用的。
nodeType
nodeType 属性可返回节点的类型。
最重要的节点类型是:
元素类型 | 节点类型 |
元素element | 1 |
属性attr | 2 |
文本text | 3 |
注释comments | 8 |
文档document | 9 |
比较常用的类型有:
1)Document类型 nodeType 为9, nodeName 为"#document"
2) Element类型 nodeType为1,nodeName为元素的标签名
3)Text类型 nodeType为3,nodeName为"#text" 含有nodeValue
说道Text类型可以提一下JS在创建createTextNode("字符串");如果创建了连个文本节点只要这两个文本节点相邻可以利用normalize()方法将文本合并为一个。
也可以使用spliText(下标位置);来分割nodeValue的值
4)Comment类型 nodeType为8 nodeName为"#comment" <!--用来表示注解-->同样的这东西也有文字说明,所以也会相对应的包含一个 nodeValue
5)CDATAS类型 nodeType为4,nodeName为"#cdata-section" 表示的CDATA区域
6)DocumentType类型 nodeType为10,nodeName为doctype的名称 <!DOCTYPE HTML........> 表示的就是这个东西
7) Attr类型 nodeType为2,nodeName为"特性的名称"
Attr对象有三个属性:name、value、specified(用来区别特性是代码中指定的,还是默认的)
这就是JS里面常见到的节点类型也是比较重要的几大节点类型。还有一些节点的公共属性: parentNode,childsNode 。。。等等。但对于节点只要知道它的增删改查就好了。
每一个节点类型都有相对应的一个 create节点类型 ,节本都是长这个样子的只要知道文档中有这些类型百度上一查方法啊,属性啊。基本上就都有了。写这个主要死让大家认识一下在JS里面处处都是有node构成的。每个节点都有不同的类型。 主要是为了服务我们动态操作脚本
补充:
值-元素类型
1-ELEMENT
2-ATTRIBUTE
3-TEXT
4-CDATA
5-ENTITY REFERENCE
6-ENTITY
7-PI (processing instruction)
8-COMMENT
9-DOCUMENT
10-DOCUMENT TYPE
11-DOCUMENT FRAGMENT
12-NOTATION