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 | 節點屬性 |