通过 Javascript 访问 SVG 元素
这是之前提出的问题的后续:How to access SVG elements with JavaScript 但是,该解决方案似乎对我不起作用。我正在最新版本的 Chrome 上进行测试。我有一张 SVG 文件形式的美国地图,我已将其下载到我的计算机上并对 xml 代码进行了一些更改。
我使用对象标签嵌入了 svg,并分配了“USAsvg”的 id,并且首先进行婴儿步骤。对于按钮 onclick 事件,我执行以下代码但没有成功。这里“CA”是使用 svg 文件中的路径标签声明的状态。
var a = document.getElementById('USAsvg');
var svgDoc = a.contentDocument;
var delta = svgDoc.getElementById('CA');
alert(delta.value);
This is a follow up to a question asked before at: How to access SVG elements with Javascript
However, the solution does not seem to work for me. I am testing on the latest version of Chrome. I have a map of the US as an SVG file, which I have downloaded on my machine and made some changes to the xml code.
I have the svg embedded using the object tag and assigned an id of "USAsvg" and am proceeding with baby-steps first. For a button onclick event I am executing the following code without success. Here 'CA' is a state declared using the path tag within the svg file.
var a = document.getElementById('USAsvg');
var svgDoc = a.contentDocument;
var delta = svgDoc.getElementById('CA');
alert(delta.value);
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这适用于最新的 chrome,
直接将 SVG 加载到 DOM 中,然后像处理普通 html 节点一样操作它,
jQuery 中的 html() 函数不起作用,请使用 text() 代替。
this works in the latest chrome,
load the SVG into your DOM directly, then manipulate it as if it were a normal html node,
the html() function in jQuery does not work, use text() instead.