D3中是否有相当于jQuery .empty()



在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();

最新更新