如何在删除节点之前检查节点是否有子节点?
How to check if node have childNode before removing it?
我刚收到这个奇怪的错误:
我不知道那是怎么发生的。
.contains()
应该 return true
仅当 placeholder
是 overParent
的 child 时,但是 return 怎么可能是真的并且没有placeholder
因为它是 child?
我需要的解决方案:
- 为什么以及如何发生此错误?
- 只有当
placheholder
是 overParent
的 child 时才删除 placheholder
的更好解决方案。
观察:
我正在做这个反应。
问题是,尽管 .contains
告诉您 placeholder
是 overParent
的后代,但它可以是 孙子 节点。如果是这种情况,您正试图从 overParent
.
中删除另一个节点中的节点
出于演示目的,请检查实际的 DOM 是否如下所示:
- overParent
- <some node>
- placeholder
为避免此类错误,请转至要删除的节点的直接父节点,然后在其上调用 removeChild
:
if (overParent.contains(placeholder)) {
placeholder.parentNode.removeChild(placeholder);
// rest of your code
}
我刚收到这个奇怪的错误:
我不知道那是怎么发生的。
.contains()
应该 return true
仅当 placeholder
是 overParent
的 child 时,但是 return 怎么可能是真的并且没有placeholder
因为它是 child?
我需要的解决方案:
- 为什么以及如何发生此错误?
- 只有当
placheholder
是overParent
的 child 时才删除placheholder
的更好解决方案。
观察:
我正在做这个反应。
问题是,尽管 .contains
告诉您 placeholder
是 overParent
的后代,但它可以是 孙子 节点。如果是这种情况,您正试图从 overParent
.
出于演示目的,请检查实际的 DOM 是否如下所示:
- overParent
- <some node>
- placeholder
为避免此类错误,请转至要删除的节点的直接父节点,然后在其上调用 removeChild
:
if (overParent.contains(placeholder)) {
placeholder.parentNode.removeChild(placeholder);
// rest of your code
}