【发布时间】:2014-05-24 11:34:48
【问题描述】:
我发现如果我将 svg 嵌入到我的 html 中,那么我可以简单地访问 id:
<svg width="100" height="100">
<circle id='myCircle' cx="50" cy="50" r="40" stroke="green" stroke-width="4" fill="yellow" />
</svg>
Javascript:
$('#myCircle').css('fill','red'); // 工作正常
但是如果我在外部加载这个 svg 文件:
<object id='myfile' data="myfile.svg" type="image/svg+xml">
</object>
(并假设此 svg 包含与上述相同的 id/content) 我做不到:
$('#myCircle').css('fill','red'); // doesn't work anymore
所以我想知道如何访问外部加载的 .svg 文件的 ID?
更新:
我试过了
var doc = $('#piano')[0].contentDocument; doc.getElementById('#myCircle);
但我明白了,(我正在使用 Chrome)
SecurityError: 无法从 'HTMLObjectElement' 读取 'contentDocument' 属性:阻止具有源“null”的框架访问跨域框架。
【问题讨论】:
标签: javascript jquery svg