0

我的 rpg 游戏有一个函数,当玩家靠近它时,它通过从容器中移除它(从而将它从舞台上移除)来模拟在创建 js 容器对象中抓取一个元素。

function grabIt(NPC_id, index) {
    console.log(ContainerOfAnimals.children[index].id);
    var childToRemove = document.getElementById(ContainerOfAnimals.children[index]);
    console.log(childToRemove);
    ContainerOfAnimals.removeChild(childToRemove);
}

第一个 console.log 给出了正确的孩子 ID:21

但是当我想使用 抓取子容器对象时getElementById,子容器是null.

为什么是这样?

4

1 回答 1

3

EaselJS 元素有一个id属性,但没有 DOM 元素。它们是纯 JavaScript 对象( 的子类的实例DisplayObject)。而且它们没有添加到 DOM 树中。

因此,您无法使用document.getElementById.

要删除您的元素,只需执行

 ContainerOfAnimals.removeChild(ContainerOfAnimals.children[index]);

或(更快

 ContainerOfAnimals.removeChildAt(index);
于 2013-08-15T16:33:54.547 回答