无法删除DOM元素(JavaScript,CreateJS)

时间:2013-09-18 10:58:49

标签: javascript html5 easeljs createjs

我在从舞台上删除DOMElement时遇到问题。 这就是我用createjs Framework创建domElement的方法。

this.domElement = new createjs.DOMElement(document.getElementById('nickname'));
    this.domElement.x = 580;
    this.domElement.y = 200;
    this.stage.addChild(this.domElement);

我的HTMl代码如下所示:

<form id="myForm" style="visibility: hidden">
<input id="nickname" value="" size="10">

一切正常,直到我想删除&#34; domElement&#34;从舞台上。 这是我尝试的方式:

this.stage.removeChild(this.domElement);

我也尝试过其他解决方案:

this.stage.parentNode.removeChild(this.domElement);

你有一个想法,为什么我无法删除这个DOM元素?

提前感谢您的帮助

2 个答案:

答案 0 :(得分:2)

从舞台中删除DOMElement不会影响它包装的相关html元素。 DOMElement对于控制HTML元素的位置,转换和可见性非常有用,但如果从舞台中删除它,则html元素不会受到影响,因为该元素从未真正位于舞台上。

您必须从浏览器DOM手动删除html元素。请注意,该阶段不是HTML元素,因此它没有“parentNode”。相反,这样的事情可能有用:

domElement.htmlElement.parentNode.removeChild(domElement.htmlElement);

干杯。

答案 1 :(得分:1)

@ Lanny从DOM中删除元素的解决方案确实有效。但是,如果您希望再次使用此DOM元素,那么它将会消失。因此,无论如何,我发现隐藏元素是一个更好的解决方案。

domElement.htmlElement.style.visibility = "hidden";

如果您不再引用createjs DOMElement,则可以通过以下方式访问它:

document.getElementById("_id_").style.visibility = "hidden";