在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>
PLUNKER根据以下答案提供我的参考资料。
答案 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();