2012-04-17 91 views
2

的特性 '的nodeValue' 我有XML:無法讀取空

<street></street> 

<street>2813 Bla ave</street> 

的Javascript:

if ((xmldoc.getElementsByTagName('street')[i].firstChild.nodeValue != null)) { 
       alert(1); 
       } 
       alert(2); 

但劇本不起作用 - 無法讀取屬性'nodeValue'爲空

+0

您應該提供更多詳細信息,例如完整的XML和完整的代碼! – gdoron 2012-04-17 16:45:54

+0

什麼是'i'?... – 2012-04-17 16:45:58

+0

'.firstChild'爲null,所以 - 'xmldoc.getElementsByTagName('street')[i]'沒有孩子。 – c69 2012-04-17 16:46:49

回答

2

nodeValue將永遠不會是null,因爲如果沒有值,節點將不存在。

從您的代碼中刪除.nodeValue

+0

我刪除了.nodevalue,現在它工作 – Nick 2012-04-17 17:20:27

+0

如果這個答案解決了你的問題,請考慮將它標記爲Accepted。 – 2012-04-17 17:25:45

+0

從我+1,你的回答是有幫助的,太糟糕OP從來沒有接受它。我也建議進行驗證!== null,而不是簡單的!= null – BBog 2012-06-29 07:59:26

0

你的選擇是失敗,

xmldoc.getElementsByTagName('street')[i].firstChild 

似乎返回null。你有沒有嘗試過記錄和檢查,以確保你想要的選擇器實際存在?

0

街道節點沒有任何孩子。您需要刪除.firstChild

0

使用xmldoc.getElementsByTagName('street')[i] .innerHTML因爲您想要的文本位於標籤之間。我相信這是支持XML的。當然,您也可以始終使用nodeValue屬性。