Javascript 无法删除所有D3 SVG元素

Javascript 无法删除所有D3 SVG元素,javascript,html,d3.js,svg,Javascript,Html,D3.js,Svg,我试图删除SVG元素的所有子元素,但在删除行时遇到问题。当我的SVG元素中有文本和圆圈时,我可以使用命令d3轻松地擦除它们。选择(“#id_SVG-graph”)。选择全部(*”).remove()。但是,我最近在SVG元素中添加了行,即使在执行此命令之后,这些行仍然存在。这有什么原因吗 这是命令之前的SVG: <svg id="id_svg-graph" style="height:100%;width:100%;" width="1522" height="407"> &

我试图删除SVG元素的所有子元素,但在删除
行时遇到问题。当我的SVG元素中有
文本
圆圈
时,我可以使用命令
d3轻松地擦除它们。选择(“#id_SVG-graph”)。选择全部(*”).remove()
。但是,我最近在SVG元素中添加了行,即使在执行此命令之后,这些行仍然存在。这有什么原因吗

这是命令之前的SVG:

<svg id="id_svg-graph" style="height:100%;width:100%;" width="1522" height="407">
    <line style="stroke: black;" x1="823" y1="183" x2="660" y2="156">
    <circle style="fill: chartreuse; stroke: gold;" r="20" cx="660" cy="156">
    <circle style="fill: chartreuse; stroke: black;" r="20" cx="823" cy="183">
    <text style="-moz-user-select: none;" text-anchor="middle" x="660" y="156">0</text>
    <text style="-moz-user-select: none;" text-anchor="middle" x="823" y="183">1</text>
</svg>
<svg id="id_svg-graph" style="height:100%;width:100%;" width="1522" height="407">
    <line style="stroke: black;" x1="823" y1="183" x2="660" y2="156">
</svg>

0
1.
命令发出后:

<svg id="id_svg-graph" style="height:100%;width:100%;" width="1522" height="407">
    <line style="stroke: black;" x1="823" y1="183" x2="660" y2="156">
    <circle style="fill: chartreuse; stroke: gold;" r="20" cx="660" cy="156">
    <circle style="fill: chartreuse; stroke: black;" r="20" cx="823" cy="183">
    <text style="-moz-user-select: none;" text-anchor="middle" x="660" y="156">0</text>
    <text style="-moz-user-select: none;" text-anchor="middle" x="823" y="183">1</text>
</svg>
<svg id="id_svg-graph" style="height:100%;width:100%;" width="1522" height="407">
    <line style="stroke: black;" x1="823" y1="183" x2="660" y2="156">
</svg>

编辑:

我不知道为什么线和圆没有一个端部支架,但到目前为止它们工作得很好。我使用D3来生成元素,所以我从来没有实际编写上面显示的代码

我也尝试过将名称更改为没有“-”,但它没有改变任何问题。。。而且它似乎和里面的“-”配合得很好,所以我保留了它

问题是只有线条元素没有消失。即使使用
d3.select(“#id_svg-graph”).selectAll(“line”).remove()
)显式指定了行,它们仍然存在


我正在使用Firefox 45.2.0,如果这有助于诊断这里发生了什么。

svg根目录的id无效。试着拆下仪表板 e、 g:


无标题
0
1.
d3.选择(“#id#svgGraph”).selectAll(*”).remove()
log(新的XMLSerializer().serializeToString(id_svgGraph))

svg根目录的id无效。试着拆下仪表板 e、 g:


无标题
0
1.
d3.选择(“#id#svgGraph”).selectAll(*”).remove()
log(新的XMLSerializer().serializeToString(id_svgGraph))

id是有效的,很难使用,因为您需要CSS转义选择器中的减号,就像您真的想保留它一样。id是有效的,很难使用,因为您需要CSS转义选择器中的减号,就像您真的想保留它一样。首先,SVG不是有效的XML,因为
元素以及两个
元素都未关闭,即缺少
/>
。这可能会也可能不会导致这个问题。尽管如此,您的代码在Chrome 51、FF 47和IE 11中仍然适用,我已经尝试了D3 v3()和v4()。首先,您的SVG不是有效的XML,因为
元素以及
元素都没有关闭,即它们缺少
。这可能会也可能不会导致这个问题。尽管如此,您的代码在Chrome51、FF47和IE11中仍然适用,我已经尝试过D3V3()和v4()。