我制作了一个网页,用于加载带有对象标签
的svg<object id="svgContainer" type="image/svg+xml" data="image.svg">Your browser does not support SVG</object>
并希望动态显示一些内容。当我在HTML中包含svg direct时,它可以正常工作
<svg id="svgVontainer">
<circle cx="100" cy="100" r="2" id="edit" />
</svg>
JavaScript的:
$(function() {
$("#edit").hide();
});
但是,当我使用object
尝试相同的代码时,它无法正常工作。
有人知道这个问题以及如何解决这个问题吗?
编辑: 这里有一个jsFiddle,所以你可以看到我的意思http://jsfiddle.net/Ue7m7/。
答案 0 :(得分:2)
如果您只想隐藏/显示SVG object
标记,you can do it as usual with jQuery。
但是如果你想处理“遥控器”的内容。 SVG object
,这似乎是可能的,但有一些限制:
iframe
标记具有相同的安全性原因)。 object
标记,您需要有额外的JS代码,如图here所示。我认为使用jQuery你可以尝试$("#rect1").get(0).getSVGDocument()
或类似的东西(我还没有测试过那段代码)。 Check that link to learn more。答案 1 :(得分:0)
尝试一些香草而不是
function hide(id){
document.getElementById(id).style.display = "none";
}
function show(id){
if(document.getElementById(id).style.display === "none")
document.getElementById(id).style.display = "";
else
document.getElementById(id).style.display = "block"
}