我将微调器的图像附加到特定事件的图标上:
if (d.state == "0") {
d3.select(this).append("svg:image")
.attr("class", "circle")
.attr("id", this.name)
.attr("xlink:href", "Images/icons/ajax-loader.gif")
.attr("x", "+16px")
.attr("y", "-16px")
.attr("width", "20px")
.attr("height", "20px");
} else if (d.state == "1") {
d3.select("#" + d.name)
.remove();
}
在状态更改时,我想删除/隐藏此微调器图像。我该如何跟踪它? 是否有一种机制可以将ID与它相关联,以便我以后可以使用它来删除它?
我尝试使用ID(如代码段中所示),但它不起作用。
答案 0 :(得分:0)
多种方式(取决于您使用它的更大背景):
您可以将其分配给变量:
spinner = d3.selet(this).append("svg:image")
.attr('class', "circle")
...
然后使用spinner.remove()
将其删除。 var spinner
必须在您使用它的代码中的所有位置(即位于文件顶部)可以访问的地方声明。
您可以使用.attr("id", "my_image")
为其分配ID,然后您可以稍后使用d3.select("#my_image")
根据该ID选择它。或者您可以按其类d3.select('circle')
选择它。
如果您有多个具有相同ID的图像,并且对于类,如果有多个,则ID将无法工作,除非您首先d3.select(...)
其中一个的父级,否则它们都将被选中。< / p>