gpt4 book ai didi

javascript - 在 Safari 中访问 SVG 子项

转载 作者:行者123 更新时间:2023-11-30 17:02:54 25 4
gpt4 key购买 nike

我使用 ajax 加载一个 SVG 文件并将 SVG 传递给一个 javascript 函数,如下所示:

var svg = $(xml).find('svg');
map.addSlopeLayer(svg[0]);

在函数内部,我访问了 SVG 的子项:

var gs = svg.children;

这在 Firefox 和 Chrome 中运行良好,但当我在 Safari 中尝试时,svg.children 未定义。

我尝试访问子项的方式是否有错误,或者是否有其他方法可以在 Safari 中访问它们?

最佳答案

其实我很久以前就找到了这个解决方案,但忘记发布了。正如另一个答案中提到的,Safari 根本不支持 SVG 元素的 children 属性,我用来解决这个问题的代码如下:

var svgChildren = svg.children || svg.childNodes;

for (var i=0; i < svgChildren.length; i++){
if (svgChildren[i].nodeType == 3) continue;

//do something with the svg elements
}

由于 childNodes 也返回文本节点,我使用 if (svgChildren[i].nodeType == 3) continue;

过滤掉它们

关于javascript - 在 Safari 中访问 SVG 子项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28538841/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com