【问题标题】:What would be the correct way to write this if statement in javascript? DOM [closed]在javascript中编写这个if语句的正确方法是什么? DOM [关闭]
【发布时间】:2013-04-19 05:19:10
【问题描述】:

您好,如果元素中存在子元素,我有一个问题,我试图删除所有子元素。我认为一个语句可以写成“如果子节点 > 1 删除所有子节点”,但我不知道格式化它的正确方法。提前谢谢你

【问题讨论】:

  • 什么意思你现在不怎么格式化?你是说你不知道如何写一个循环?就这么简单while(parent.firstChild) { parent.removeChild(parent.firstChild); }

标签: javascript html dom if-statement children


【解决方案1】:

应该直截了当。看hasChildNodes()

if(node.hasChildNodes()) {
    // insert logic here
} else {
    // something else instead
}

直接来自 MDN:

var foo = document.getElementById("foo");

if ( foo.hasChildNodes() ) { 
  foo.removeChild( foo.childNodes[0] );
}

在这种情况下,childNodes 是一个数组。这意味着它有一个length 属性hint hint、wink wink、nudge nudge

【讨论】:

  • 这只会删除第一个子节点,OP 希望删除所有子节点。我认为 cmets 中的循环会做得更好
  • @HMR 注意提示提示、眨眼、轻推部分答案
  • 哦,对不起……我明白了。
【解决方案2】:
var myNode = document.getElementById("Your ID");
    while (myNode.firstChild) {
        myNode.removeChild(myNode.firstChild);
    }

【讨论】:

  • 请解释这是如何解决 OP 问题的。
猜你喜欢
  • 1970-01-01
  • 2022-01-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-21
  • 2021-09-09
相关资源
最近更新 更多