Javascript D3:在SVG中选择在Safari中不起作用

Javascript D3:在SVG中选择在Safari中不起作用,javascript,d3.js,svg,safari,selection,Javascript,D3.js,Svg,Safari,Selection,我正在努力: 加载外部SVG 选择SVG中的组以执行某些操作 这是一段代码片段: d3.xml("/img/Cell.svg").mimeType("image/svg+xml") .get(function (error, documentFragment) { if (error) throw error; var svgNode = documentFragment.getElementsByTagName("svg")[0]; document.body.

我正在努力:

加载外部SVG 选择SVG中的组以执行某些操作 这是一段代码片段:

d3.xml("/img/Cell.svg").mimeType("image/svg+xml")
  .get(function (error, documentFragment) {

    if (error) throw error;

    var svgNode = documentFragment.getElementsByTagName("svg")[0];
    document.body.appendChild(svgNode);

    d3.select("g#ID_of_G"); // returns an empty selection in Safari, works in Chrome and Firefox
   ...
});

我还尝试将选择更改为d3.selectsvg.selectgID\u of\u G,但没有任何改变。

哇,好的,我发现了问题:

如果g元素的ID中有大写字母,Safari就会出现问题。因此,我必须将g元素的ID从ID_of_g更改为ID_of_g,并使用以下方法选择它:

d3.选择g中的g


这个bug报告帮助我找到了解决方案:

将它作为webkit bug报告给他们的bug追踪器。也许对于那些希望重现这个问题的人,这里有一个,不幸的是,我没有Mac电脑,因此我无法提供进一步的帮助……这段代码在safari v10.0.2中对我有效。你用的是什么版本?大家好。非常感谢您的回复。我使用的是SafariV9.0.2,但这不应该是问题所在。我在这里创建了一个简单的示例来向您展示我的错误:Safari返回一个空选择。也许这是我嵌入SVG的方式的问题?或者这可能是我的SVG的问题?谢谢大家的帮助。