【发布时间】:2012-06-02 18:48:20
【问题描述】:
我有一段 JavaScript 代码,它创建(使用 D3.js)一个包含图表的 svg 元素。我想根据来自使用 AJAX 的 Web 服务的新数据更新图表,问题是每次单击更新按钮时,它都会生成一个新的svg,所以我想删除旧的或更新它内容。
这是我创建 svg 的 JavaScript 函数的 sn-p:
var svg = d3.select("body")
.append("svg")
.attr("width", w)
.attr("height", h);
如何删除旧的 svg 元素或至少替换其内容?
【问题讨论】:
-
@Felix Kling 谢谢 :) D3.js 的删除功能解决了它 var svg1 = d3.select("svg") .remove();
-
你可以使用
d3.select("svg").empty(); -
我在没有 d3 的情况下做了一些 svg,如果一个元素(在我的例子中是一个路径)的 id 为“p_1”,那么我可以做 var el = document.querySelector("#p_1") ; el.parentElement.removeChild(el);
标签: javascript ajax svg d3.js