在d3中是否有等效的jquery .empty()?

时间:2016-12-08 03:06:57

标签: jquery d3.js

在jQuery中,我可以使用以下内容清除/清空div:

$("#graph").empty()

所以上面的命令会清除/清空以下div,如果它里面有任何标记<div id="graph"></div>

有没有相同的方法来做到这一点是d3?

查看我的PLUNKER here

这里的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根据以下答案提供我的参考资料。

3 个答案:

答案 0 :(得分:6)

official way to do this将使用.html(null),如

d3.select("#graph").html(null);

答案 1 :(得分:2)

您有两种选择:

您可以使用.html("")并基本上擦除所选元素的html内容。

或者,如果您要删除特定的d3选项,可以转到.remove()

remove方法将删除选择本身,而清空html只会处理所有子节点。

因此,您的案例可能是d3.select('#graph').html("")

我修改了你的Plunker以使用d3:https://plnkr.co/edit/V2tYVxOTbzMUX3D7m57L?p=preview

答案 2 :(得分:1)

期待您正在使用&lt; svg&gt; &LT; / SVG&GT;用于在d3中编写所有代码(正如我们所做的那样),因此您可以使用以下代码在需要时清除事物:

//removing prior svg elements ie, clean up svg 
d3.select('svg').selectAll("*").remove();