访问和操作对象标记内的svg组

时间:2020-05-23 23:48:55

标签: javascript svg import include external

例如,我有这段代码,我知道该如何操作:

<g id="box">
   <path class="st4" d="M893,577H359c-6.6,0-12-5.4-12-12V323c0-6.6,5.4-12,12-12h534c6.6,0,12,5.4,12,12v242
       C905,571.6,899.6,577,893,577z"/>
</g>
</svg>


<!--External calls-->
<link rel="stylesheet" href="style.css">
<script src="script.js"></script>


</html>

我可以使用以下Java脚本对象来操纵组“ box”:

const svg = document.getElementById("box");

但是如果我那样做:

<html>
    <object data="my_svg.svg"></object>


<!--External calls-->
<link rel="stylesheet" href="style.css">
<script src="script.js"></script>


</html>

我如何在此对象标签中访问此svg中的框组?

1 个答案:

答案 0 :(得分:0)

只要SVG与页面具有相同的来源,就可以通过对象的contentDocument访问它。

<html>
    <object data="my_svg.svg" id="box"></object>
</html>
document.getElementById("box").contentDocument.children[0] // should be the svg element
相关问题