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

Acess and manipulate groups of an svg that is inside of an object tag

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

<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 内的框组?

只要 SVG 与您的页面同源,您就可以通过对象的 contentDocument.

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