天天看点

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 节点属性