SVG 上的文本如何不更新,但 div 上的文本如何更新?

How does text on SVG not update but text on a div does?

我有两种不同的文字书写方式:

选择 divid 'view'

1 - d3.select("#view").text("your title is:" + title)

并将文本附加到 svgContainer

2 - d3.select("#svgContainer").append("g").append("text")text("your title is:" + title);

我在右侧有不同的布局,单击时文本会更新。如果我使用第一种方式,旧标题将被删除并显示新标题。但是当我使用第二种方式时,旧标题保留在那里,而新标题只是添加到最后,我不确定为什么。

为什么这些文本书写方式的行为不同?

顾名思义:.append() 将新的 g 节点附加到容器。您宁愿 select 容器内的现有文本节点:

d3.select('#svgContainer text').text('mynewtext');