JavaScript访问SVG的内部DOM
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
为null。 (所以我不能通过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);