我想在svg中添加新值之前清除文本。
svg = d3.select("body").append("svg")
.attr("width", width)
.attr("height", height)
.append("g")
.attr("transform", "translate(" + width / 2 + "," + height / 2 + ")");
svg.append("text")
.attr("dy", ".35em")
.style("text-anchor", "middle")
.text(function(d)
{
return months[RAG_input];
});
文本将根据月份[RAG_input]数组中的值进行更改。 months []包含月份,并根据RAG_input显示相应的数组项。
目前正在覆盖。有没有办法在写作之前清除文本。
中答案 0 :(得分:1)
您可以在选择文本之前检查文本元素是否已存在。这样,您就可以重用现有的文本元素。
var text = svg.select("text");
if(text.empty()) {
text = svg.append("text").attr("dy", ".35em").style("text-anchor", "middle");
}
text.text(function() {
return months[RAG_input];
});