Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在删除节点之前检查节点是否有子节点? 我刚刚犯了一个奇怪的错误:_Javascript_Nodes_Removechild - Fatal编程技术网

Javascript 如何在删除节点之前检查节点是否有子节点? 我刚刚犯了一个奇怪的错误:

Javascript 如何在删除节点之前检查节点是否有子节点? 我刚刚犯了一个奇怪的错误:,javascript,nodes,removechild,Javascript,Nodes,Removechild,我不知道这是怎么发生的。 .contains()仅当占位符是超额租金的子项时才应返回true,但如何返回true而不将占位符作为其子项 我需要的解决方案: 为什么以及如何发生这种错误 一个更好的解决方案,只有当它是租金过高的孩子时,才能移除placheholder 观察: 我是在react上执行此操作的。问题是,尽管.contains告诉您占位符是overprent的后代,但它可以是孙子节点。如果是这种情况,您将尝试从过度租用中删除另一个节点中的节点 出于演示目的,请检查实际DOM是否如下所示:

我不知道这是怎么发生的。
.contains()
仅当
占位符
超额租金
的子项时才应返回
true
,但如何返回true而不将
占位符
作为其子项

我需要的解决方案:
  • 为什么以及如何发生这种错误
  • 一个更好的解决方案,只有当它是
    租金过高的孩子时,才能移除
    placheholder
  • 观察:
    我是在react上执行此操作的。

    问题是,尽管
    .contains
    告诉您
    占位符
    overprent
    的后代,但它可以是孙子节点。如果是这种情况,您将尝试从
    过度租用
    中删除另一个节点中的节点

    出于演示目的,请检查实际DOM是否如下所示:

    - overParent
        - <some node>
           - placeholder
    

    问题是,尽管
    .contains
    告诉您
    占位符
    overprent
    的后代,但它可以是孙子节点。如果是这种情况,您将尝试从
    过度租用
    中删除另一个节点中的节点

    出于演示目的,请检查实际DOM是否如下所示:

    - overParent
        - <some node>
           - placeholder
    

    如果只想在占位符是父级的子级时删除占位符,可以使用
    If(placeholder.parentNode==overprent){overprent.removeChild(placeholder);}
    如果只想在占位符是父级的子级时删除占位符,可以使用
    If(placeholder.parentNode==overprent){overprent.removeChild)(占位符);}