Javascript getBBox()。宽度和高度返回0

Javascript getBBox()。宽度和高度返回0,javascript,svg,d3.js,Javascript,Svg,D3.js,我通过SVG中的getBBox()获取文本的宽度和高度。在我的应用程序中有两个按钮,当我单击button1时,它将显示button2并调用textfontion(),此函数将显示文本的宽度和高度。再次单击按钮2时,将调用相同的textfontion(),并显示文本宽度和高度。在这里,当我单击按钮1时,我看到getBBox()。宽度和getBBox()。宽度为0。如果我单击按钮2并看到getBBox()。宽度和getBBox()。宽度为23和40取决于文本 即使两个按钮调用相同的函数,我也只能通过

我通过
SVG
中的
getBBox()
获取文本的宽度和高度。在我的应用程序中有两个按钮,当我单击
button1
时,它将显示
button2
并调用
textfontion()
,此函数将显示文本的宽度和高度。再次单击
按钮2
时,将调用相同的
textfontion()
,并显示文本宽度和高度。在这里,当我单击
按钮1
时,我看到
getBBox()。宽度
getBBox()。宽度
为0。如果我单击
按钮2
并看到
getBBox()。宽度
getBBox()。宽度
为23和40取决于文本

即使两个按钮调用相同的函数,我也只能通过
button2
而不是
button1
获得值,这会有什么问题


更新:我已经检查了
text
元素的
ClientWidth
ClientHeight
,这些值也为0,直到我单击
按钮2
。单击
按钮1
时,对
ClientWidth
ClientHeight
都给出0。如果可能,在JSFIDLE上进行演示。感谢来自的示例运行良好,但是当我在应用程序中放入相同的代码时,它就不起作用了。我知道如果我不解释整个申请,很难回答,但我很难解释我的申请。所有我需要的是有一个动态创建的文本标签。检查节点是否显示。也看到