JavaScript nodeType Mark

最近在写原生的Javascript,经常会因为取到的节点类型不对而导致下面的执行JS报错。这时候一个判断是很有必要的。

众观jQuery的源码,有一个属性在各种场合都会使用的。那就是nodeType,这个属性很好的告诉我们当前节点类型。

下面是nodeType对应的值和代表的东东:

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

这里面我们经常会碰到的就类型如下:

节点类型 元素类型
1 元素element(比如我们经常见到的div,p等等)
2 属性attribute(如id,class等)
3 文本text
8 注释comments
9 文档document

通过对nodeType的判断,我们能轻易的过滤节点。如:

if ( elem.nodeType === 3 || elem.nodeType === 8 ) {
    return;  
}

这就把一些干扰的文本元素给过滤掉,确保我们拿到的是一个node。

记录一下,方便查阅。

    发表评论

    *
    *