[英]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.