2012-02-06 58 views
0

我有一個js腳本,將getElementByTagname。然後,我檢查它的childNodes值。如果我使用這行代碼:是否可以一起使用childNodes.nodeValue和innerHTML?

var appname= name[i].childNodes[x].nodeValue; 

如果是的nodeValue龐真一(客場)。上面的腳本的返回成爲Pang Shinichi()。 HTML標籤沒有被讀取,而是被認爲是NULL。所以,我在想如果它可能一次使用childNodes.nodeValue和innerHTML。

對此有何想法?

回答

2

這是因爲您的文本分佈在多個節點上。對於一個快速的解決方案,而不是父節點上使用textContentinnerText

var t = "textContent" in document.body ? "textContent" : "innerText", 
    appname = name[i][t]; 

Internet Explorer 8和更低的將採用innerText,而其他大多數瀏覽器將使用textContent。在涉及到空白時,兩者的行爲之間存在細微差異,但對於大多數使用情況,結果是相同的。

工作演示:http://jsfiddle.net/7Qsjm/

+0

我也想你的建議,我認爲是有效的,但我發現了另一個問題吧。我的itallic標籤不再被加載。而不是,它會顯示龐真一(遠離家鄉),它成爲龐真一(離家出走)。 – user1149244 2012-02-07 02:32:22

+0

@ user1149244:我想你的問題就是你想要的。對不起,我誤解了。有沒有理由不能使用'name [i] .innerHTML'? – 2012-02-07 08:38:48

+0

innerHTML將不起作用。檢查樣品數據:<跨度ID = 「approvers_area」>

Juan Dela cruz
Anthony Konno
Brayan Adams (You can skip me.)
Brady Wind
Angela Err
user1149244 2012-02-07 10:16:09

相關問題