使用d3.js删除svg文本元素
Removing svg text elements with d3.js
我可以用一个平滑的小tween来更改文本的值,但每次我都清空一个svg并创建一个新的svg。这最终会用空的SVG加载DOM。我该如何摆脱它们?
D3:
var vis = d3.select("#visualisation"),
commasFormatter = '$' + d3.format(",.0f"),
numVis = d3.select("#defecit"),
defTotal = d3.select("#defense");
function init () {
//Initialize mean text
numVis.append("text")
.attr("id", "meantext")
.attr("y", 40)
.attr("x", 118)
.style("font-size", "26px")
.style("font-family","Arial, Helvetica, sans-serif")
.style('font-weight', 'bold')
.style('text-color', '#525252');
defTotal.append("text")
.attr("id", "defense")
.attr("y", 0)
.attr("x", 0)
.style("font-size", "16px")
.style("font-family","Arial, Helvetica, sans-serif")
.style('font-weight', 'bold')
.style('text-color', '#525252');
d3.select("#meantext")
.transition()
.duration(500)
.ease('linear')
.tween("text", function() {
var i = d3.interpolate(this.textContent, dollars.value);
return function(t) {
this.textContent = '$' + d3.format(",")(Math.round(i(t)));
};
})
//Doing something like this didn't work - kept giving me an error that the object array had no exit function
d3.select("meantext").exit().remove()
}
您可以删除特定元素,执行d3.select("#idOfElement").remove()
。这里不需要.exit()
,因为没有数据被匹配和绑定。
相关文章:
- 如何在浏览器中选择所有*renderable*文本元素
- 如何使用RaphaelJS将文本元素约束在正方形中
- 使用d3.js删除svg文本元素
- 替换动态生成的文本元素
- Protractor测试:如何设置登录表单中文本元素的值
- 如何获取与提交表单上所选复选框相同行的文本元素
- SVG文本锚点设置使文本元素移动
- Svg文本元素被另一个Svg元素重叠
- Imacros替换文本元素
- Windows 8 上的 Safari 5 反转 SVG 上的所有文本元素
- 运行 PHP 代码以根据文本元素的值从数据库中获取值
- 我想要输入文本元素中的实时更改事件
- 如何使用 jQuery 忽略文本元素上的特定字符
- RaphaelJS中的文本元素不会在触摸设备上拖动
- d3 - 旋转数组中的文本元素
- 如何通过单击复选框将文本元素从输入复制到另一个输入
- .text() 给出元素中的所有文本元素
- 在函数内调用对象文本元素
- 移动文本元素与弧拉斐尔JS
- 编辑文本元素时,将重置后端用户设置