【轉】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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM