関数は次のとおりです。
function funct1()
{
document.getElementById("demo").innerHTML="Something";
document.write("Mexico!");
}
出力は次のとおりです。
Mexico
ページのボタンをクリックすると、出力は次のようになりました。
Something
Mexico
関数は次のとおりです。
function funct1()
{
document.getElementById("demo").innerHTML="Something";
document.write("Mexico!");
}
出力は次のとおりです。
Mexico
ページのボタンをクリックすると、出力は次のようになりました。
Something
Mexico
この場合document.write()
、あなたが思うことはしません。ドキュメントの内容を消去し、書き込みますMexico!
(理由の詳細については、Quentin の回答を参照してください)。この行を削除すると、最初のステートメントが正しく実行されていることがわかります。
最初の段落を更新し、さらに別の段落を追加する場合は、次のコードを使用する必要があります。
function funct1()
{
document.getElementById("demo").innerHTML = "Something";
// Create a new <p> element, set its HTML and then append it:
var newP = document.createElement('p');
newP.innerHTML = 'Mexico!';
document.body.appendChild(newP);
}
ここで動作するjsFiddleを確認できます。
innerHTML
demo の を設定した後、 を呼び出しますdocument.write
。この時点でドキュメントは閉じた状態にあるため、既存のドキュメント全体(で割り当てたものを含む)document.open
を暗黙的に呼び出します。次に、メキシコを書きます!新しいドキュメントに。innerHTML
DOM の準備ができた後は絶対に呼び出さないでくださいdocument.write
(それ以外の場合は呼び出しを避けてください)。代わりに DOM 操作を使用してください。