2017-09-03 36 views
2

當我從這個XML在HTML獲取某個節點的值通過這個代碼在JavaScript,輸出爲null,獲得的nodeValue

function show(){ 
     var x = document.getElementsByTagName("allowance")[0]; 
     var y = x.nodeValue; 
     alert(y); 
    } 

<xml style="display: none"> 
     <students id="lul"> 
      <student> 
       <name>Mark Fajardo</name> 
       <allowance>9999</allowance> 
      </student> 
      <student> 
       <name>Arabella Raymundo</name> 
       <allowance>20</allowance> 
      </student> 
     </students> 
    </xml> 

但是,警報項目的輸出只是空。幫助

回答

0

您也可以使用innerHTML這樣

y = document.getElementsByTagName("allowance")[0].innerHTML; 
alert(y); 
+0

謝謝!這是我一直在尋找的。 –

0

您應該使用textContent來從XML標籤的文本,只nodeValue返回文本節點的XML文本值,元素節點上,nodeValue屬性總是null

function show() { 
 
    var x = document.getElementsByTagName("allowance")[0]; 
 
    var y = x.textContent; 
 
    console.log(y); 
 
} 
 

 
show()
<xml style="display: none"> 
 
    <students id="lul"> 
 
    <student> 
 
     <name>Mark Fajardo</name> 
 
     <allowance>9999</allowance> 
 
    </student> 
 
    <student> 
 
     <name>Arabella Raymundo</name> 
 
     <allowance>20</allowance> 
 
    </student> 
 
    </students> 
 
</xml>

+0

謝謝。我已經有了最短的語法和答案。 –

+0

當然,'innerHTML'並不是真正用於非HTML的東西,而是XML,但它可能適用於大多數瀏覽器。 – adeneo

+0

感謝您的建議。我會記住它。 –