我知道我在做傻事。但我只是想不通。我想在文档加载后立即替换标签内的一些文本。我知道函数正在执行。但是它搞怪了getElementById语句,我不知道为什么。输出应显示“ New Junk”。而是总是说“原始资料”。
<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>
最佳答案
将您的加载更改为此:
window.onload = filltip;
通过编写
window.onload = filltip()
,您实际上实际上是在立即调用filltip
,并将其返回值用作onload函数(在本例中为undefined
)。通常,当您分配一个函数时,除非该函数非常明确地返回了另一个函数,否则您永远都不需要()
。