我有一个问题与D3,如果我追加一个元素第二次我会得到重复的元素在父节点。
node.enter().insert("svg:g")
.attr("class", 'test')
.attr("width", '63px')
.attr("height", '68px')
.call(force.drag);
node.append("svg:circle")
.attr("class", "bg-circle")
.attr("r", "30px");
例如,我将得到:
<g class="test">
<circle class="bg-circle" />
<circle class="bg-circle" />
</g>
但我想:
<g class="test">
<circle class="bg-circle" />
</g>
即使我再次调用函数设置节点时也是如此。
4条答案
按热度按时间8wtpewkr1#
我有一个初始化或更新绘图的函数,为了防止重复的样板文件被制作 * 同时 * 允许转换到元素,我最终做了以下操作:
xpcnnkqh2#
我遇到了同样的问题,预览的答案并没有帮助我,所以我通过这样做来解决它:
在我的html. index中,我有两个按钮,它们调用不同的数据源来制作相同类型的图表,所以每次我单击其中一个按钮时,我都会得到重复的图表(函数1调用带有_des的div的数据,函数2调用_ic div的数据)
因此,我在main.js文件中为每个函数添加了以下内容:
希望这对任何人都有用,因为我不能用其他方法解决这个问题。
kgqe7b3p3#
这个问题问了9年前,但我一直在努力与同样的问题,并修复这样
创建函数以检查
用法
使用数据和类型实现
pbossiut4#
我猜你想用d3来画一些UI。我用了类似这样的东西: