JavaScript中的nodeName nodeType nodeValue区别

在JavaScript中,存在有nodeName 、nodeType、 nodeValue这三个属性,今天我们来了解下JavaScript中的nodeName 、nodeType 、nodeValue区别

nodeName

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

当你打算去写一个js的框架之类的时候,可能就会比较多的用到这几个属性的。这几个属性可以让你拿到你所拥有的节点的属性名称,以及属性名称的内容,以及属性和节点的类型。

初步大家可以看下这个网址里面的代码演示。http://help.dottoro.com/ljiuhlep.php

下面是演示的代码1:

<head>
    <script type="text/javascript">
        function GetSpecifiedAttributes () {
            var message = "The following attributes specified for the body:\n";

            for (var i=0; i < document.body.attributes.length; i++) {
                var attr = document.body.attributes[i];
                if (attr.specified) {
                    message += "\n" + attr.nodeName + "=" + attr.nodeValue;
                }
            }

            alert (message);
        }
    </script> 
</head>
<body onload="GetSpecifiedAttributes ()" contentEditable="false">
</body>

 

这个演示的结果就请大家自己去浏览器里面查看了。各个浏览器的显示结果可能都会有所不同。

其实本人这也是第一次看到js中的这个属性。

通常用的比较多的是nodeType,在一些js的源码当中你可能会碰到nodeType这个属性的用法。

目前本人也只研究了这么多,希望大家以后遇到这个nodeType不要觉得陌生。自己可以多尝试一下。就会理解的更多了。

我研究出了新的成果,到时候再和大家一起分享哦

你可能感兴趣的:(JavaScript,框架,xml,PHP,浏览器)