javascript - 如何使用纯 JavaScript 保存 SVG d 属性路径元素?
问题描述
我正在使用Matter.js SVG 形状并让演示在本地工作,并且我试图让它在不使用 jQuery 的情况下工作。这是一个svg 文件供参考。
演示代码(之前使用以下方法检索数据$.get('url-to-svg')
:
$(data).find('path').each(function(i, path) {
console.log(Svg.pathToVertices(path));
vertexSets.push(Svg.pathToVertices(path));
});
jQuery 路径数据巧妙地将 d 属性隔开:
<path xmlns="http://www.w3.org/2000/svg" class="st0" d="M 1 75.5 V 58.5 H 140 L 197 1.5 L 322 157.5 L 367 98.5 H 420 V 119.5 H 369 L 320 179.5 L 197 21.5 L 142 74.5 L 1 75.5 z"/>
到目前为止我的代码(我能够执行 AJAX svg 调用来获取数据):
let dataXml = parser.parseFromString(data, 'text/xml');
let path = dataXml.getElementsByClassName('st0')[0]; // i know about chaining .getAttribute('d') to get the d attribute
我注意到我的路径数据看起来像这样(没有空格):
<path xmlns="http://www.w3.org/2000/svg" class="st0" d="M1,75.5v-17h139l57-57l125,156l45-59h53v21h-51l-49,60l-123-158l-55,53L1,75.5z"/>
我正在寻找的 jQuery 最终结果是顶点数组:
[
0: {x: 1, y: 75.5}
1: {x: 1, y: 58.5}
...
]
我不确定 jQuery 正在执行哪种类型的循环函数来遍历 path 元素中的所有 d 属性数据。
谢谢 :)
解决方案
推荐阅读
- java - 从 .readEntity 获取对象
- java - DRools:no-loop true 属性不适用于 update() 方法推断
- python - 增加实例后如何使用 Boto3 刷新 AWS Autoscaling Group?
- angular - 如果角度值不为空,则获取选中的复选框计数
- asp.net - ASP.NET 应用程序池进程经常卡住
- flutter - 如何知道它何时运行一种或另一种风味并为每种风味设置特定代码?
- python - 如何使 Prophet 的输出静音?
- javascript - 为什么我不能删除具有动态路由的对象属性?
- java - Webflux MethodNotAllowedException 未在 json 响应中转义
- iis - 获取 404 - 下载文件时找不到文件或目录