0

我正在编写一些代码,然后遇到了这个问题。这是我的代码的一部分,只是创建一个 div,附加它,然后 funcion 可能能够删除它

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);
}

为什么第一个代码不起作用?为什么第二个呢?我想更多地了解这个问题,但很难在谷歌中找到更多“复杂”的东西。提前感谢任何来源和答案

4

1 回答 1

0

看起来您可能在与删除函数不同的范围内定义 var mainCont。

someVariable=mainCont;

在没有 var 的情况下调用上述代码会将 someVariable 放入全局范围,从而使删除函数可以访问该变量。如果这不是问题,请尝试为我们制作一个 jsFiddle,以便我们对其进行调试。

于 2012-09-07T20:59:26.510 回答