在jQuery中,我可以清除/空为以下内容:
$("#graph").empty()
因此,上述命令将清除/清空以下div,如果它内部有任何标签<div id="graph"></div>
。
是否有一种等效的方法是D3?
请参阅我的plunker
Plunker代码的摘要此处:
<div id="mylist">hello test1</div>
<div id="graph">hello test2</div>
<script>
$("#graph").empty() // comment out to not empty the div
</script>
edit1
plunker以下面的答案提供我的引用。
官方方法是使用 .html(null)
,如
d3.select("#graph").html(null);
您有两个选项:
您可以使用.html("")
并基本擦除您选择的元素的HTML内容。
或如果要删除特定的D3选择,则可以使用.remove()
。
删除方法将删除选择本身,而排空HTML只是照顾所有子节点。
因此,对于您的情况,可能是d3.select('#graph').html("")
。
我修改了您的plunker使用d3:https://plnkr.co/edit/v2tyvxotbzmux3d7m57l?p=peview
期望您正在使用&lt; svg&gt;&lt;/svg&gt;对于在D3中编写所有代码(就像我们一样),因此您可以使用以下代码在需要时清除内容:
//removing prior svg elements ie, clean up svg
d3.select('svg').selectAll("*").remove();