在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不要觉得陌生。自己可以多尝试一下。就会理解的更多了。
我研究出了新的成果,到时候再和大家一起分享哦