如何从div中删除子元素

时间:2017-11-04 10:17:38

标签: javascript html

我这样得到错误。

  

未捕获的TypeError:无法在'Node'上执行'removeChild':   参数1不是'Node'类型。

我的div是这样的。

<div class="" style="" id ="P1">
    <div class= " " style="" id ="C1">
        <Input>Val</Input>
    </div>
    <div class= " child2" style="" id ="C2">
        <Input>Val2</Input>
    </div>
</div>

我想删除所有的孩子,但收到错误。

var myClass = val.("Data").el.dom // My Parent div
    myClass.removeChild();

这是我正在尝试的。任何人都可以帮我解决这个问题。

3 个答案:

答案 0 :(得分:2)

要删除ID为div的所有孩子,您可以执行以下操作:

document.querySelector("#P1").innerHTML = "";

//or use this 
//document.getElementById("P1").innerHTML = "";

//or a jQuery solution like this
// $('#P1').html("");
<div class="" style="" id="P1">
  <div class=" child1" style="" id="C1">
    <Input>Val</Input>
  </div>
  <div class=" child2" style="" id="C2">
    <Input>Val2</Input>
  </div>
</div>

答案 1 :(得分:0)

removeChild方法删除一个特定的子节点。如果需要删除所有子节点,请将其置于while循环中

firstChild返回第一个嵌套元素。成功删除后,下一个孩子将成为第一个孩子,所以只要firstChild在那里,它就会执行

&#13;
&#13;
var prtElement = document.getElementById('P1');
while (prtElement.firstChild) {
  prtElement.removeChild(prtElement.firstChild);
}
&#13;
<div class="Parent" style="" id="P1">
  <div class=" child1" style="" id="C1">
    <Input>Val</Input>
  </div>
  <div class=" child2" style="" id="C2">
    <Input>Val2</Input>
  </div>
</div>
&#13;
&#13;
&#13;

答案 2 :(得分:-1)

我建议使用jQuery:

$(document).ready(function(){
/* or whatever else function you want */
$("#parent").children().remove();
});