2016-06-20 2 views
0

私はarcgis javascript apiを使用してwebgisを開発しています。
ユーザーが「Deactive」ボタンをクリックし、「Measurement」ボタンを使用してノードを再作成したときに、いくつかの子を持つ「measurementID」ノードを破棄したいとします。
ノードを破棄するには、dojo/dom-constructを使用し、モジュール内のメソッドを破棄します。
ノードを再作成できませんでした。 dojoツールキットを使用してノードを再作成するにはどうすればよいですか?dojoを持つすべての子を持つ既存のノードを再作成するにはどうすればよいですか?

registry.byId("deactivate").on("click", function() { 
 

 
    domConstruct.destroy("mesurementID") 
 

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

 
    //  Recreate .... ! 
 
});
<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>

答えて

2

やって、複数の方法があります。
は、ここではいくつかの可能性がある:

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'); 
 
});
.hidden { 
 
    display: none; 
 
}
<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>

+1

おかげベン.Iは、隠されたソリューションを使用していました。 – wetland

関連する問題