我知道我在做傻事。但我只是想不通。我想在文档加载后立即替换标签内的一些文本。我知道函数正在执行。但是它搞怪了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)。通常,当您分配一个函数时,除非该函数非常明确地返回了另一个函数,否则您永远都不需要()

10-06 15:15