首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >删除div中的所有子DOM元素

删除div中的所有子DOM元素
EN

Stack Overflow用户
提问于 2009-03-25 20:42:02
回答 7查看 215K关注 0票数 132

我有以下dojo代码来在div下创建一个表面图形元素:

代码语言:javascript
复制
....
<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中再次调用此函数,如下所示:

代码语言:javascript
复制
 <a href="javascript:drawRec();">...</a>

它将再次绘制另一个图形。我需要清理div下的所有图形,然后重新创建。我如何添加一些dojo代码来实现这一点呢?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2009-03-25 21:01:34

代码语言:javascript
复制
while (node.hasChildNodes()) {
    node.removeChild(node.lastChild);
}
票数 292
EN

Stack Overflow用户

发布于 2009-03-25 23:58:51

代码语言:javascript
复制
node.innerHTML = "";

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

票数 48
EN

Stack Overflow用户

发布于 2009-03-26 00:38:33

首先,你需要创建一个表面,并把它放在手边的某个地方。示例:

代码语言:javascript
复制
var surface = dojox.gfx.createSurface(domNode, widthInPx, heightInPx);

domNode通常是未修饰的<div>,用作曲面的占位符。

你可以一次清除表面上的所有东西(所有现有的shape对象都将失效,在此之后不要使用它们):

代码语言:javascript
复制
surface.clear();

所有与曲面相关的函数和方法都可以在dojox.gfx.Surface的官方文档中找到。在dojox/gfx/tests/中可以找到使用示例。

票数 24
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/683366

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档