2013-07-17 54 views
0

我收到了「getElementById無法設置屬性'innerHTML'爲null,但我的HTML元素具有正確的ID,我的腳本也是如此。所以,如果我失去了一些東西很明顯,請告訴我,謝謝無法設置爲空的innerHTML錯誤。儘管存在html ID

下面是完整的小提琴:! FIDDLE:http://jsfiddle.net/xPLD4/1/

這就是我有問題的部分 腳本:

function prices() { 
    document.getElementById("regular").innerHTML = '$' + setPrices.regular + ' /gallon'; 
    document.getElementById("regPlus").innerHTML = '$' + setPrices.regularPlus + ' /gallon'; 
    document.getElementById("premium").innerHTML = '$' + setPrices.premium + ' /gallon'; 
    document.getElementById("status").innerHTML = "Status: No Automobile Present"; 
    var carPresent = false; 
} 

//generates prices on pump display 
window.onload = prices; 

var pumpDisplayOne = 1000; 
document.getElementById("pumpDisplayOne").innerHTML = "Total gallons pumped on this pump: " + pumpDisplayOne; 

HTML:

<h3>Pump 1</h3> 
<h4 id="pumpDisplayOne">Gallons</h4> 
<button type="button" class="paybutton" onclick="pay()">Pay!</button> 

回答

2

您必須運行JavaScript代碼後domready中,如果您的script標籤在head,所有</body>前向下移動,或者把所有的代碼onload事件。 這是我的jsFiddle update,這工作。

+0

-1 a。腳本可以在'head'和b中。你的小提琴不起作用 - 因爲它在用戶點擊按鈕之前顯示更正! – alfasin

+0

你改變了什麼? – Ktown

+0

alfasin,pumpDisplayOne是一個全局變量,一旦用戶將氣體泵入其中的量,就會添加該變量。例如:用戶說他們有20加侖汽車有13加侖。一旦用戶執行了1007加侖的pay()函數,泵的總加侖數就會更新。該計數器的默認狀態是1000 – Ktown

相關問題