在好奇中创造元素

Creating elements in just wondering

本文关键字:元素 创造 好奇      更新时间:2023-09-26

我正在写一些代码,然后遇到了这个问题。这是我代码的一部分,只需创建一个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);
}

为什么第一个代码不起作用?为什么第二个会这样?我想了解更多关于这个问题的信息,但在谷歌上很难找到更"复杂"的东西。提前感谢任何来源和答案

看起来您可能在删除函数的单独作用域中定义var mainCont。

someVariable=mainCont;

在没有var的情况下调用上面的函数会将someVariable放入全局范围,从而使delete函数可以访问该变量。如果不是这个问题,试着为我们制作一个jsFiddle,这样我们就可以调试它。