1

私は愚かなことをしていることを知っています。しかし、私はそれを理解することはできません。ドキュメントが読み込まれるとすぐに、タグ内のテキストを置き換えたいと考えています。関数が実行されていることはわかっています。しかし、それは 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>
4

1 に答える 1

7

onload を次のように変更します。

window.onload = filltip;

と書くことwindow.onload = filltip()で、実際にはfilltipすぐに呼び出し、その戻り値を onload 関数 (この場合はundefined) として使用しています。一般に、関数を割り当てる()場合、その関数が別の関数を明確に返さない限り、その関数を使用する必要はありません。

于 2013-03-05T17:04:42.047 に答える