我在我的网站上嵌入了一个 svg 图形,我想用 javascript 命令来操作网站的其余部分,这些命令在 svg 中 - 虽然我不确定是否这是可能的。
让我详细说明: 我有一个 svg 格式的世界地图,我想点击一个国家,这个点击应该运行一个 ajax 调用并将这个国家的相关信息加载到嵌入 svg 的 html 站点的一个 div 中。
“onclick="location.href='xxx'""重定向到相应的站点,这很好,但我更愿意运行一个 js 函数,该函数使用 ajax 获取站点 - 但运行一个 javascript 函数svg 似乎只适用于 svg 中定义的函数和元素,而不适用于它之外。
基本上可以通过 svg 中的 js 函数操作 svg 之外的任何东西吗?怎么办?
问候 基督徒
最佳答案
诀窍在于 SVG 是“窗口”的子项,而不是像大多数东西一样是“window.document”的子项。如果您在 SVG 中有脚本,则可以使用
访问文档中的内容this.parent.document.getElementById("theIDYouWant")
如果您在 <head>
中有一个脚本或 <body>
您的文档的标签,您可以使用像
window.theIDofYourSVG.childNodes[theNumberOfTheThingInYourSVG]
关于javascript - 使用 svg 内的 javascript 函数操作 svg 外的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3018053/