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

nodeValue就是用来得到“文本元素的值”的,即只适用于“文本节点”;

例子:

<html>

<head>
<script type="text/javascript">
function getNodeValue()
{
var nv=document.getElementById("td1").firstChild.nodeValue;
var nn=document.getElementById("tr1").firstChild.nodeName;
var nv1=document.getElementById("tr1").firstChild.nodeValue;
alert("nv="+nv);
alert("nn="+nn);
alert("nv1="+nv1);
}
</script>

</head>

<body>
<table>
  <tr id="tr1">
    <td id="td1" >John</td>
    <td>Doe</td>
    <td>Alaska</td>
  </tr>
</table>
<input type="button" value="button1"  οnclick="getNodeValue()"/>
</body>

</html>

以上得到的结果:

nv=John;

nn=td;

nv1=null;

要分清元素的value属性和nodeValue 不一样,nodeValue适用于“文本节点”和“属性节点”;对应“文档节点”和“标签节点”不起作用

接口

nodeType常量

nodeType值

备注

Element

Node.ELEMENT_NODE

1

元素节点

Text

Node.TEXT_NODE

3

文本节点

Document

Node.DOCUMENT_NODE

9

document

Comment

Node.COMMENT_NODE

8

注释的文本

DocumentFragment

Node.DOCUMENT_FRAGMENT_NODE

11

document片断

Attr

Node.ATTRIBUTE_NODE

2

节点属性

/*
        定义和用法
          childNodes 属性可返回指定节点的子节点的节点列表,也就是包含在容易内的所有控件与文本属性字段,如果希望得到这些中的某些,必须通过
          类别属性进行筛选。
          childNodes常用属性:
          nodeValue:nodeValue适用于“文本节点(<td>中的文本内容)”和“属性节点”;对应“文档节点”和“标签节点(li)”不起作用
          nodeName:元素节点的 nodeName 是标签名称
            属性节点的 nodeName 是属性名称
            文本节点的 nodeName 永远是 #text
            文档节点的 nodeName 永远是 #document
            nodeType:返回的数值 1:元素节点、2:属性节点、3:文本节点
            firstChild:返回容器内的第一个控件对象,可以利用这个返回对象去获取该控件的属性信息
            parentNode:返回子节点对象外层的父对象,可以利用这个返回父对象去获取该控件的属性信息
            previousSibling:获取同级节点上级节点对象,可以利用这个返回对象去获取该节点的属性信息
            nextSibling:获取同级节点下级节点对象,可以利用这个返回对象去获取该节点的属性信息
           
        语法:
          nodeObject.childNodes
        提示和注释
          提示:请使用 length 属性来计算一个节点列表中节点的数目。当你已获悉节点列表的长度后,您就可以轻松地循环遍历此列表,并提取您所需要的值!
        实例
          在所有的例子中,我们将使用 XML 文件 books.xml,以及 JavaScript 函数 loadXMLDoc()。   
          下面的代码片段显示了此XML文档的子节点:   
          xmlDoc=loadXMLDoc("books.xml");   
          var x=xmlDoc.childNodes;   
          for (i=0;i<x.length;i++) { document.write("Nodename: " + x[i].nodeName) document.write(" (nodetype: " + x[i].nodeType + ")<br />") }
        */

nodeValue以及其与value的区别以及JS nodeName、nodeValue、nodeType返回类型相关推荐

  1. nodeName,nodeValue,nodeType,typeof,instanceof 的区别

    nodeName 属性含有某个节点的名称. 更多免费教学文章请关注这里 元素节点的 nodeName 是标签名称 属性节点的 nodeName 是属性名称 文本节点的 nodeName 永远是 #te ...

  2. 为什么不能根据返回类型来区分重载_Java重载和重写的区别

    前言 有时候我真的分不清方法重载和方法重写,总数把这两个混淆 特此记录下此片文章,方便以后自己查询时不用再去Baidu.Google.Bing了 Java 重载与重写是什么?有什么区别? 重载(Ove ...

  3. 概念区别 【编译型语言与解释型语言、动态类型语言与静态类型语言、强类型语言与弱类型语言】

    概念区别 [编译型语言与解释型语言.动态类型语言与静态类型语言.强类型语言与弱类型语言] 文章目录 一.编译型语言与解释型语言 二.动态类型语言与静态类型语言 三.强类型语言与弱类型语言 总结 一.编 ...

  4. append和appendTo的区别以及js中的appendChild用法

    append和appendTo的区别以及js中的appendChild用法 很多像我一样接触JS没多久的小白对append和appendTo的区别以及js中的appendChild用法都会有所模糊,下 ...

  5. if,if else,else if的区别,以js为例

    if,if else,else if的区别,以js为例 if 应用场景 if else 应用场景 else if 应用场景 关于if的嵌套 实用场景补充之if 实用场景补充之if else 实用场景补 ...

  6. python2.x 与python3.x之d.keys()返回类型的区别

    问题:python2.x 与python3.x之d.keys()返回类型的区别 TypeError: 'dict_keys' object does not support indexing type ...

  7. Reflect.ownKeys()与Object.keys()区别 以及 JS中的可枚举属性与不可枚举属性

    代码test1: var obj = {} Object.defineProperty(obj, 'method1', {value: function () {alert("Non enu ...

  8. DOM节点中属性nodeName、nodeType和nodeValue的区别 Delphi

    http://msdn.microsoft.com/zh-cn/library/vstudio/hf9hbf87.aspx <?xml version="1.0"?>& ...

  9. mysql数据库blob区别_MySQL中TEXT与BLOB字段类型的区别

    在MySQL中有两个字段类型容易让人感觉混淆,那就是TEXT与BLOB,特别是自己写博客程序的博主不知道改为自己的博客正文字段选择TEXT还是BLOB类型. 下面给出几点区别: 一.主要差别 TEXT ...

最新文章

  1. android监听器在哪里创建,[转载]android开发中创建按钮事件监听器的几种方法
  2. Spring配置文件-Bean实例化的三种方式
  3. 【框架】[Spring]XML配置实现AOP拦截-切点:JdkRegexpMethodPointcut
  4. 使用Jedis源码生成Jedis.jar
  5. 讨论用户注册有的几篇好文
  6. 文件字节输入流 java
  7. selenium的页面等待
  8. JDK1.7 深入理解 LinkedHashMap
  9. 插画素材 | 圣诞节设计离不了!
  10. 开源项目的名称背后都有哪些故事?
  11. windows中的一个小bug
  12. CentOS 安装Docker 并部署配置MySql
  13. 机器学习之微积分零基础学习
  14. 锚定本地化:电子签杀入下半场
  15. Win10 如何解决,应用商店打不开,错误代码0x80131500问题
  16. 七缸发动机预热,docker swarm + .net core 高速飙车成功
  17. Python入门_打印矩形
  18. 一文说尽NB—IOT和Lora
  19. android中流媒体
  20. 《编程之美》背后的作者之美

热门文章

  1. 【MVC】Controller的使用
  2. itertools库
  3. datagridview后台获取选中行的值的几种方式
  4. 【Unity3D基础教程】给初学者看的Unity教程(四):通过制作Flappy Bird了解Native 2D中的RigidBody2D和Collider2D...
  5. html5+CSS3实现的炫酷超链接特效
  6. 使用sizeof计算类的大小
  7. Tree 1.5 For Net 2.0
  8. android adb install Failure,提示base.apkcode is missing问题的解决
  9. wps文字退格会删掉文字_WPS第二行文字前面有大量空白,按退格不会动,只是把上一行末尾的字去掉。...
  10. WPF 3D中多个模型如何设置某一个在最前?