1

我知道我在做一些傻事。但我就是想不通。我想在文档加载时立即替换标签内的一些文本。我知道函数正在执行。但它在 getElementById 声明中出现问题,我不知道为什么。输出应该是“新垃圾”。但总是说“原始的东西”。

<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>
4

1 回答 1

7

将您的 onload 更改为:

window.onload = filltip;

通过编写window.onload = filltip(),您实际上是在filltip立即调用,并将其返回值用作 onload 函数(在本例中为undefined)。通常,当您分配一个函数时,您永远不需要()它,除非该函数非常明确地返回另一个函数。

于 2013-03-05T17:04:42.047 回答