javascript - 使用 svg 内的 javascript 函数操作 svg 外的对象

标签 javascript ajax svg external

我在我的网站上嵌入了一个 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>您的文档的标签,您可以使用像

这样的约定来访问 SVG 的内容
window.theIDofYourSVG.childNodes[theNumberOfTheThingInYourSVG]

关于javascript - 使用 svg 内的 javascript 函数操作 svg 外的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3018053/

相关文章:

javascript - ExtJS - 带 json 存储的 DWR 代理?

javascript - Jquery 和 CSS 动画在 ANDROID Webview 应用程序中不起作用

jquery - ASP.NET 中的 AJAX 调用不触发服务器端方法

svg - SVG tspan 未与文本 anchor 对齐的问题 ="end"

javascript - jQuery 在点击事件时触发对 URL 的调用

javascript - 为什么会触发我的 KnockoutJS 自定义绑定(bind)?

javascript - 需要帮助使用 AJAX 和其他一些东西加载数据

django cookie 中没有 csrftoken

c++ - Boost.几何 : How to create simple array of polygons and save tham as svg image?

javascript - 如何同时更改文本和 svg 的颜色?