删除 div 中的所有子 DOM 元素

2022-08-30 04:25:39

我有以下道场代码在div下创建表面图形元素:

....
<script type=text/javascript>
....
   function drawRec(){
      var node = dojo.byId("surface");
      //   remove all the children graphics
      var surface = dojox.gfx.createSurface(node, 600, 600);

      surface.createLine({
         x1 : 0,
         y1 : 0,
         x2 : 600,
         y2 : 600
      }).setStroke("black");
   }
....
</script>
....
<body>
<div id="surface"></div>
....

drawRec()将首次绘制矩形图形。如果我在锚点 href 中再次调用此函数,如下所示:

 <a href="javascript:drawRec();">...</a>

它将再次绘制另一个图形。我需要清理div下的所有图形,然后再次创建。如何添加一些道场代码来执行此操作?


答案 1
while (node.hasChildNodes()) {
    node.removeChild(node.lastChild);
}

答案 2
node.innerHTML = "";

非标准,但速度快,支持良好。