Javascript 如何使用dojo重新创建包含所有子节点的现有节点?

Javascript 如何使用dojo重新创建包含所有子节点的现有节点?,javascript,dojo,Javascript,Dojo,我正在使用arcgis javascript api开发webgis。 当用户单击“停用”按钮时,我想销毁带有一些子节点的“测量”节点,然后使用“测量”按钮重新创建节点。 要销毁节点,我使用模块中的dojo/dom构造和销毁方法。 但我无法重新创建节点。如何使用dojo toolkit重新创建节点 registry.byId(“停用”)。单击(“单击”,函数(){ domConstruct.destroy(“测量元素ID”) }); registry.byId(“测量”)。在(“单击”,函数(

我正在使用arcgis javascript api开发webgis。
当用户单击“停用”按钮时,我想销毁带有一些子节点的“测量”节点,然后使用“测量”按钮重新创建节点。
要销毁节点,我使用模块中的dojo/dom构造和销毁方法。
但我无法重新创建节点。如何使用dojo toolkit重新创建节点

registry.byId(“停用”)。单击(“单击”,函数(){
domConstruct.destroy(“测量元素ID”)
});
registry.byId(“测量”)。在(“单击”,函数()上){
//重现!
});

有多种方法。
以下是一些可能性:

require([“dojo/dom构造”、“dojo/dom类”、“dojo/dom”、“dojo/domReady!”]),函数(domConstruct、domClass、dom){
//使用普通javascript销毁节点:
var removedNode=dom.byId('test').removeChild(dom.byId('test1'));
//然后把它读到页面上
dom.byId('test').appendChild(removedNode);
//或者使用domConstruct
destroy(dom.byId('test1'));
//并重新创建它
domConstruct.create('div'{
id:'test1',
innerHTML:“具有某些内容的div”
},dom.byId('test');
//或者克隆它
var clonedNode=dom.byId('test1').cloneNode(true);
destroy(dom.byId('test1'));
//然后读了它
dom.byId('test').appendChild(clonedNode);
//但更好的是,把它藏起来
add(dom.byId('test1'),'hidden');
//并展示它
remove(dom.byId('test1'),'hidden');
});
。隐藏{
显示:无;
}

有内容的div

有多种方法。
以下是一些可能性:

require([“dojo/dom构造”、“dojo/dom类”、“dojo/dom”、“dojo/domReady!”]),函数(domConstruct、domClass、dom){
//使用普通javascript销毁节点:
var removedNode=dom.byId('test').removeChild(dom.byId('test1'));
//然后把它读到页面上
dom.byId('test').appendChild(removedNode);
//或者使用domConstruct
destroy(dom.byId('test1'));
//并重新创建它
domConstruct.create('div'{
id:'test1',
innerHTML:“具有某些内容的div”
},dom.byId('test');
//或者克隆它
var clonedNode=dom.byId('test1').cloneNode(true);
destroy(dom.byId('test1'));
//然后读了它
dom.byId('test').appendChild(clonedNode);
//但更好的是,把它藏起来
add(dom.byId('test1'),'hidden');
//并展示它
remove(dom.byId('test1'),'hidden');
});
。隐藏{
显示:无;
}

有内容的div

谢谢ben。我使用了隐藏解决方案。谢谢ben。我使用了隐藏解决方案。