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

Cannot remove DOM Element (JavaScript, CreateJS)

本文关键字:JavaScript CreateJS 元素 删除 DOM      更新时间:2023-09-26

我从舞台上删除圆顶时遇到问题。这就是我如何使用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">

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

this.stage.removeChild(this.domElement);

我还尝试了其他解决方案,例如:

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

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

提前感谢您的帮助

从舞台中删除 DOMElement 不会影响它包装的相关 html 元素。DOMElement 对于控制 HTML 元素的位置、转换和可见性很有用,但如果将其从舞台中删除,HTML 元素不会受到影响,因为该元素从一开始就不会真正出现在舞台上。

您必须手动从浏览器 DOM 中删除 html 元素。 请注意,舞台不是 HTML 元素,因此它没有"parentNode"。相反,这样的事情可能会起作用:

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

干杯。

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

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

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

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