我正在创建一个网络应用程序,想知道为什么以下代码不起作用。它首先创建一个元素,然后将其添加到主体中。然后,我创建另一个 Div 元素,我想将其放置在我创建的第一个 div 元素内。
我使用 MooTools 类来创建和初始化对象,它工作正常,但我似乎无法让以下代码工作。该代码位于initialize: function()
一个类的:
this.mainAppDiv = document.createElement("div");
this.mainAppDiv.id = "mainBody";
this.mainAppDiv.style.width = "100%";
this.mainAppDiv.style.height = "80%";
this.mainAppDiv.style.border = "thin red dashed";
document.body.appendChild(this.mainAppDiv); //Inserted the div into <body>
//----------------------------------------------------//
this.mainCanvasDiv = document.createElement("div");
this.mainCanvasDiv.id = "mainCanvas";
this.mainCanvasDiv.style.width = "600px";
this.mainCanvasDiv.style.height = "400px";
this.mainCanvasDiv.style.border = "thin black solid";
document.getElementById(this.mainAppDiv.id).appendChild(this.mainCanvasDiv.id);
正如你所看到的,它首先创建一个名为“mainBody”的 div,然后将其附加到 document.body,这部分代码工作正常。问题来自于创建第二个 div 并尝试使用插入document.getElementById(this.mainAppDiv.id).i(this.mainCanvasDiv.id);
谁能想到上面的代码不起作用的原因吗?
代替:
document.getElementById(this.mainAppDiv.id).appendChild(this.mainCanvasDiv.id);
Just do:
this.mainAppDiv.appendChild(this.mainCanvasDiv);
这样您就可以附加mainCanvesDiv
直接到mainAppDiv
。没有必要getElementById
如果您已经有一个元素的引用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)