2013-03-05 75 views
1

我知道我在做一些愚蠢的事情。但我無法弄清楚。我想在文檔加載時立即替換標籤內的一些文本。我知道該函數正在執行。但它在getElementById語句中被拒絕了,我不知道爲什麼。輸出應該說「新垃圾」。但是總是說「原創東西」。簡單的Javascript HTML替換

<html> 
<script> 
window.onload = filltip(); 

    function filltip() { 
    alert('xyz'); 
    var id = 'qourl'; 
    var txt = 'New Junk'; 
    //alert('current html=' + document.getElementById(id).innerHTML); 
    document.getElementById(id).innerHTML = '?<span class="classic">' + txt + 
'</span>'; 
    } 

</script> 
<body> 

<a href='#' id='qourl'>Original Stuff</a> 

</body> 
</html> 

回答

7

您的onload改成這樣:

window.onload = filltip; 

通過寫window.onload = filltip(),你實際上是立即調用filltip,並使用其返回值作爲的onload功能(在這種情況下,undefined)。一般來說,當你指定一個函數時,除非函數非常明確地返回另一個函數,否則你永遠不需要()

+0

非常感謝。這對我來說並沒有什麼意義,但是我嘗試了它並且很有效。 – Thread7 2013-03-05 17:18:27