0

Document オブジェクトの write メソッドは、関数内で使用する場合と関数外で使用する場合で動作が異なります。関数の内部では、ドキュメントの要素全体が指定された文字列に置き換えられますが、関数の外部では、要素のすぐ下にコンテンツが書き込まれます。なぜこれが起こるのですか?

function foo(){document.write("Maizere")}
element.onclick=foo

イベントが発生すると、ドキュメントのすべてが write メソッドで指定された文字列に置き換えられます。

4

1 に答える 1

7

ページ (正確にはドキュメント) が既に読み込まれている場合、書き込み前にをdocument.write呼び出し、書き込み前document.openに現在のドキュメントを最初にクリアします。したがって、document.writeページがロードされた後に呼び出される関数を配置すると、現在のページがクリアされ、テキストdocument.writeが代わりに使用されます。

ただし、ページがまだロードされている場合は呼び出されdocument.write ないdocument.openため、ページはクリアされません。代わりに、すぐに実行され、ページに書き込むために割り当てられたものは何でも追加します。

于 2013-01-01T13:39:19.823 に答える