繁体   English   中英

JavaScript 访问 SVG 的内部 DOM

[英]JavaScript accessing inner DOM of SVG

test.php是一个用 PHP 生成的 SVG 对象。

<object data="test.php" type="image/svg+xml" id="SVG" />
<script>
    var mySVG = document.getElementById("SVG");
    var svgDoc = mySVG.contentDocument;

svgDoc为空。 (所以我无法通过 JS 访问 svg 的元素。)它应该可以工作,看看这个问题。 我究竟做错了什么? 如何获取我的 SVG 的contentDocument

您需要等到 SVG 加载完毕,然后才能访问 contentDocument:

 var mySVG = document.getElementById("SVG");
 var svgDoc;
 mySVG.addEventListener("load",function() {
      svgDoc = mySVG.contentDocument;
      alert("SVG contentDocument Loaded!");
 }, false);

不确定这是一个答案,但它对我有用。 我有同样的问题, svgObject返回null

var svgObject = document.getElementById('svgObject').contentDocument;

然后我想到我在本地运行我的 html 页面:file:///C:/wwwroot/App_dev/OverLay/Overlay03.html

从服务器运行它: http://localhost:62551/App_dev/OverLay/Overlay03.html

它完美地工作并且svgObject返回了它的内容,然后我可以在其中获取div

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM