首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何重新创建具有dojo的所有子节点的现有节点?

如何重新创建具有dojo的所有子节点的现有节点?
EN

Stack Overflow用户
提问于 2016-06-20 12:42:02
回答 1查看 226关注 0票数 0

我正在使用arcgis javascript来开发webgis。

当用户单击“非活动”按钮,然后使用“测量”按钮重新创建节点时,我希望销毁"measurementID“节点和一些子节点。

为了破坏节点,我在模块中使用dojo/dom-construct并销毁方法。

但我无法重新创建节点。如何使用dojo工具包重新创建节点?

代码语言:javascript
复制
registry.byId("deactivate").on("click", function() {

  domConstruct.destroy("mesurementID")

});
registry.byId("Measurement").on("click", function() {

  //       Recreate .... !
});
代码语言:javascript
复制
<div id="mesurementID" style="position:absolute;  left:50px; top:100px;width: 150px;height: 15px; z-Index:999;border:solid;border-width: 1pt;border-color: black;">

  <div id="measurementDiv"></div>

</div>

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-20 13:18:23

有多种方法。

以下是一些可能性:

代码语言:javascript
复制
require(["dojo/dom-construct", "dojo/dom-class", "dojo/dom", "dojo/domReady!"], function(domConstruct, domClass, dom) {

  //destroy the node using plain javascript:
  var removedNode = dom.byId('test').removeChild(dom.byId('test1'));
  //and readd it to the page
  dom.byId('test').appendChild(removedNode);

  //or using domConstruct
  domConstruct.destroy(dom.byId('test1'));
  //and recreate it
  domConstruct.create('div', {
    id: 'test1',
    innerHTML: 'div with some content'
  }, dom.byId('test'));


  //or clone it
  var clonedNode = dom.byId('test1').cloneNode(true);
  domConstruct.destroy(dom.byId('test1'));
  //and readd it
  dom.byId('test').appendChild(clonedNode);


  //but better, make it hidden
  domClass.add(dom.byId('test1'), 'hidden');
  //and show it
  domClass.remove(dom.byId('test1'), 'hidden');
});
代码语言:javascript
复制
.hidden {
  display: none;
}
代码语言:javascript
复制
<script src="//ajax.googleapis.com/ajax/libs/dojo/1.10.4/dojo/dojo.js"></script>
<link rel="stylesheet" type="text/css" href="http://ajax.googleapis.com/ajax/libs/dojo/1.10.4/dojo/resources/dojo.css">
<link rel="stylesheet" type="text/css" href="http://ajax.googleapis.com/ajax/libs/dojo/1.10.4/dijit/themes/tundra/tundra.css">

<div id="test">
  <div id="test1">div with some content</div>
</div>

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

https://stackoverflow.com/questions/37922879

复制
相关文章

相似问题

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