如果我在HTML中创建SVG,并给予想要更改ID的文本项,那么使用
let callQSO = document.getElementById(“QSOcall”).value;然后将其写入SVG
document.getElementById(“SVGcallQSO”).innerHTML = callQSO;
然而,出于各种原因,我希望SVG是一个外部文件,在HTML之外。
因此我将SVG文件作为对象加载
然后尝试从JS中获取对象的元素
let svgObject = document.getElementById('svg-object').contentDocument;从控制台我可以看到这返回一个null。
有人能提供任何建议,这意味着我可以从外部svg读取元素并操作它们吗?
一如既往,感谢任何帮助。
我怀疑我在某个地方有语法问题,但是在哪里呢?
1条答案
按热度按时间vlurs2pr1#
您无法立即访问
<object>
DOm。您需要等待
<object>
DOM加载完毕。因此,您需要在类似load事件的事件中运行处理函数调用
JS
对象
Test.svg
请参见运行plnkr example