2014-04-04 154 views
0

我有一個div:的document.getElementById()沒有得到一個價值

<div id="results"></div> 

,並在我的JS:

document.getElementById('results').innerHTML = "foo"; 

這個工作正常但是...

我試着存儲它...

var rslt = document.getElementById('results'); 

所以我可以更多地使用它asily。然而,「rslt」是未定義的,在螢火蟲中,當我將鼠標移到getElementById括號內的「results」時,它不顯示任何信息。像它是一個字符串?

我敢肯定,這可能是很簡單的,我看不出它......

當我打電話的rslt它給「空」了。但如果我刪除了「var reslt =」其餘部分「document.getElementById('results')」完美地工作並返回div。

+0

添加小提琴??? –

+0

其工作完美 – Tuhin

+1

這是工作夥計... :) http://jsbin.com/defen/1/edit?html,js,output。原因是因爲DOM尚未加載你的div ;-)看到我的答案。 –

回答

1

那麼,如果它是undefined這意味着一件簡單的事情 - 對象還沒有做到DOM樹。

在確定div已寫入文檔後進行調用,例如加載事件後。

+1

這不是答案..你可以發表評論 – Tuhin

+1

我之前必須做出語法錯誤,因爲我在頁面加載後嘗試設置它,但它仍然無效。我現在再試一次,它已經工作。 :/猜猜我爲什麼不工作太過壓力,我沒有看到簡單的問題。謝謝! – user3387566

+0

乾杯隊友。很高興你弄明白了:) – blue

2
window.onload = function(){ 
    var rslt = document.getElementById('results'); 
    rslt.innerHTML = "This is working."; 
}; 
0

這是工作Perfectly..Look在Fiddle

<div id="results"></div> 
document.getElementById('results').innerHTML = "foo";