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