2013-03-05 77 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