通过 Javascript 访问 SVG 元素

发布于 2024-10-13 14:11:17 字数 525 浏览 0 评论 0原文

这是之前提出的问题的后续: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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

错爱 2024-10-20 14:11:17

这适用于最新的 chrome,
直接将 SVG 加载到 DOM 中,然后像处理普通 html 节点一样操作它,
jQuery 中的 html() 函数不起作用,请使用 text() 代替。

$('.your_div_for_svg').load('svg/file.svg', function(){
      $('#some_textnode_w_id_within_svg').text('Hello word');
});

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.

$('.your_div_for_svg').load('svg/file.svg', function(){
      $('#some_textnode_w_id_within_svg').text('Hello word');
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文