似乎有几种方法可以做到这一点。如果我用svg.js加载svg图像显然我可以通过id访问它的元素。根据文档,我可以使用SVG.adopt获得相同的结果,但需要对象引用。使用document.getElementById(),我可以获取父svg对象,但不能获取其中的元素。我尝试过这种事情,但每次打印都是空的。
ionViewDidLoad() {
let draw = document.getElementById("svg");
draw.addEventListener("load",function() {
let element = SVG.adopt(document.getElementById('element_0'));//I also tried SVG.get
console.log(element, document.getElementById('element_0'));
}, false);
}
我尝试使用console.log(draw.getElementsByClassName(" segment")),在要分段的元素上设置了类名。我刚拿回一个空阵列。
编辑:这将适用于内联SVG和SVG.get(' elementId')。我一直在用:
<object id="svg" data="img.svg" type="image/svg+xml" width="100%"></object>
问题仍然是如何从文件加载svg并随后使用svg.js操作它?