我不知道怎么回事。
.contains()
仅在true
是placeholder
的子代时才返回overParent
,但是如何返回true而不将placeholder
作为子代呢?
placheholder
的子级时才删除overParent
。我正在做此事。
答案 0 :(得分:2)
问题是,尽管.contains
告诉您placeholder
是overParent
的后代,但它可以是孙子节点。如果是这种情况,则您尝试从overParent
中删除另一个节点中的一个节点。
出于演示目的,请检查实际DOM是否如下所示:
- overParent
- <some node>
- placeholder
为避免此类错误,请转到您要删除的节点的直接父节点,然后在其上调用removeChild
:
if (overParent.contains(placeholder)) {
placeholder.parentNode.removeChild(placeholder);
// rest of your code
}