0

私はいくつかのコードを書いていて、その問題に直面しました。これが私のコードの一部です.divを作成し、それを追加してから、それを削除できる可能性があります

var mainCont=document.createElement('div');
mainCont.innerHTML="<div style='display: block; height: 20px;'></div>";
mainCont.innerHTML=mainCont.innerHTML+"<div style='display: block; height: 40px; width: 100%; text-align: right;'></div>";

document.body.appendChild(mainCont);

var delete=function()
{
    document.body.removeChild(mainCont);
}

削除機能を使用すると、エラーが発生しました。しかし、私がこれを行うと、エラーは表示されません:

someVariable=mainCont; 
var delete=function()
{
    document.body.removeChild(someVariable);
}

最初のコードが機能しないのはなぜですか? そして、なぜ2番目はそうするのですか?この問題についてもっと知りたいのですが、そのような「洗練された」ものをグーグルで簡単に見つけるのは難しいです。ソースと回答を事前にありがとう

4

1 に答える 1

0

delete 関数とは別のスコープで var mainCont を定義しているようです。

someVariable=mainCont;

上記を var なしで呼び出すと、someVariable がグローバル スコープに配置され、delete 関数が変数にアクセスできるようになります。これが問題でない場合は、デバッグできるように jsFiddle を作成してみてください。

于 2012-09-07T20:59:26.510 に答える