Snap.svg 无法为 <use> 标记元素进行 .transform()

Snap.svg failing to .transform() for <use> tag element

我的 svg 中有一个 use 元素,例如

<use x="47.46" y="44.64" cx="48" cy="45" id="9zh7" href="#msi_plane" class="markerpoint"></use>

我有一个悬停功能,可以在悬停时转换 .markerpoint class 元素:-

$('.markerpoint').hover(
    function() {
      var mySnapElement = Snap(this);
      mySnapElement.transform('s1.5');
    }
    function() {
      mySnapElement.transform('s1');
    }
)

转换 对于 svg 的其他元素 工作正常,例如 但是 tag

抛出错误

错误响应数据:-

snap.svg.js:2786 Uncaught TypeError: Cannot read properties of null (reading 'substring')
    at Element.elproto.getBBox (snap.svg.js:2786)
    at extractTransform (snap.svg.js:2834)
    at Element.elproto.transform (snap.svg.js:2896)
    at SVGUseElement.<anonymous> (main.js:1023)
    at SVGUseElement.handle (jquery.min.js:2)
    at SVGUseElement.dispatch (jquery.min.js:2)
    at SVGUseElement.v.handle (jquery.min.js:2)

似乎是 Snap.svg 在处理 >

时的限制

寻找前进方向的技巧或建议

快速浏览 the source code 似乎发现 Snap.svg 不支持裸 href,但需要您使用 xlink:href

href 的使用是 SVG 2 中的新功能,SVG 1.1 仅 xlink:href。