【转】nodeValue以及其与value的区别以及JS nodeName、nodeValue、nodeType返回类型

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,是节点的值,其中属性节点和文本节点是有值的,而元素节点没有值。

innerHTML以字符串形式返回该节点的所有子节点及其值

value是获取input标签value的值

需要注意的是,innerHTML不能用在xml数据源里取节点值,至少在IE里会取不到值;应该使用nodeValue

原文地址:https://www.cnblogs.com/JSD1207ZX/p/11216000.html

时间: 2024-10-10 15:05:22

【转】nodeValue以及其与value的区别以及JS nodeName、nodeValue、nodeType返回类型的相关文章

JS节点的属性: nodeType, nodeName, nodeValue

1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 2 <html> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 5 <titl

offsetWidth、clientWidth、width、scrollWidth区别及js与jQuery获取的方式

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>offsetWidth.clientWidth.width.scrollWidth区别及js与jQuery获取的方式</title> <script type="text/javascript" src="jquery.min.js"></

重载(Overload)和重写(Override)的区别。重载的方法能否根据返回类型进行区分?

方法的重载和重写都是实现多态的方式,区别在于前者实现的是编译时的多态性,而后者实现的是运行时的多态性.重载发生在一个类中,同名的方法如果有不同的参数列表(参数类型不同.参数个数不同或者二者都不同)则视为重载:重写发生在子类与父类之间,重写要求子类被重写方法与父类被重写方法有相同的返回类型,比父类被重写方法更好访问,不能比父类被重写方法声明更多的异常(里氏代换原则).重载对返回类型没有特殊的要求.

HTML DOM nodeName nodeValue

在javascript中,我们为了获得title的标签和文本,一般需要这样做 var obj =document.getElementsById("id1"); obj.nodeName;//得到标签名 obj.nodeValue;//IE得到null 应该写成: obj.firstChild.nodeValue;//得到标签内容 <div id="downloadDivId" style="display:none"> <a

在JAVA中返回类型使用泛型T和Object有什么区别?

最近在读jackson源码的时候发现有段代码返回类型写的是<T> T,而我自己一般写的是Object.上网搜了下这个语法糖,在stackoverflow上找到一个比较简单易懂的解释,搬运过来(https://stackoverflow.com/questions/5207115/java-generics-t-vs-object) 问题:下面2个方法的声明有何不同 public Object doSomething(Object obj) {....} public <T> T d

nodeName,nodeValue,nodeType,typeof 的区别

????nodeName 属性含有某个节点的名称.? 元素节点的 nodeName 是标签名称? 属性节点的 nodeName 是属性名称? 文本节点的 nodeName 永远是 #text? 文档节点的 nodeName 永远是 #document? ? nodeValue 节点值 对于文本节点,nodeValue 属性包含文本. 对于属性节点,nodeValue 属性包含属性值. nodeValue 属性对于文档节点和元素节点是不可用的. ? nodeType 属性可返回节点的类型. 最重要

详解location.href几种用法的区别【JS跳转】

一:提出问题 使用js的同学一定知道js的location.href的作用是什么,但是在js中关于location.href的用法究竟有哪几种,究竟有哪些区别,估计很多人都不知道了. 二:常见的几种形式 目前在开发中经常要用到的几种形式有: 1 self.location.href; 2 window.location.href; 3 this.location.href; 4 location.href; 5 parent.location.href; 6 top.location.href;

fork与vfork区别及用exit于return返回时的区别

fork()与vfork()区别: 1.fork()父子进程的执行次序不确定,它们的调度顺序由调度器说了算.而vfork()保证子程序先运行,在调用exit或者exec前父子进程数据共享,在子进程调用exit或exec退出后父进程才能被调度运行. 2.fork()子进程会拷贝父进程的数据段,而vfork()父子进程共享数据段. return与exit返回时的区别: 首先结束子进程的调用需要用exit(),因没有修改函数栈,若在vfork中return,那就意味在main函数中return,这是因

HTML DOM的nodeName,nodeValue,nodeType介绍

将HTML DOM中几个常用的属性做下介绍,工作中作为参考. nodeName 属性可依据节点的类型返回其名称. 元素节点的 nodeName 是标签名称 属性节点的 nodeName 是属性名称 文本节点的 nodeName 永远是 #text 文档节点的 nodeName 永远是 #document 注:nodeName 所包含的 XML 元素的标签名称永远是大写的. nodeValue 属性设置或返回指定节点的节点值. 对于文本节点,nodeValue 属性包含文本. 对于属性节点,nod