0

関数は次のとおりです。

function funct1()
{
    document.getElementById("demo").innerHTML="Something";
    document.write("Mexico!");
}

出力は次のとおりです。

Mexico

ページのボタンをクリックすると、出力は次のようになりました。

Something
Mexico
4

2 に答える 2

2

この場合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を確認できます。

于 2013-02-18T15:33:02.487 に答える
2

innerHTMLdemo の を設定した後、 を呼び出しますdocument.write。この時点でドキュメントは閉じた状態にあるため、既存のドキュメント全体(で割り当てたものを含む)document.openを暗黙的に呼び出します。次に、メキシコを書きます!新しいドキュメントに。innerHTML

DOM の準備ができた後は絶対に呼び出さないでくださいdocument.write(それ以外の場合は呼び出しを避けてください)。代わりに DOM 操作を使用してください。

于 2013-02-18T15:33:11.800 に答える