为什么不是';javascript代码是否不适用于svg对象?
我不熟悉在html文档中使用svg。从基础开始,我将通过一个对象标记加载一个svg文件,然后通过javascript操作svg对象的一部分。 代码如下:为什么不是';javascript代码是否不适用于svg对象?,javascript,html,css,svg,Javascript,Html,Css,Svg,我不熟悉在html文档中使用svg。从基础开始,我将通过一个对象标记加载一个svg文件,然后通过javascript操作svg对象的一部分。 代码如下: addEventListener(“加载”,函数(){ document.getElementsByClassName(“节点”); var a=document.getElementById(“node1”); a、 setAttribute(“填充”、“红色”); }); 所选框应具有红色字体。 对象元素内容位于各自单独的文档中 ad
addEventListener(“加载”,函数(){
document.getElementsByClassName(“节点”);
var a=document.getElementById(“node1”);
a、 setAttribute(“填充”、“红色”);
});
所选框应具有红色字体。对象元素内容位于各自单独的文档中
addEventListener(“加载”,函数(){
让doc=document.getElementById(“svg对象”).contentDocument;
var a=doc.getElementById(“node1”);
a、 setAttribute(“填充”、“红色”);
});
不幸的是,这是不可能的,您不能使用外部css设置对象svg的样式styles@svyatis.lviv我关注了一些视频,例如,其中显示可能是关于内联SVG样式的教程,而不是通过对象标记包含的SVG样式,这正是您试图做的。@RobertLongson感谢您的帮助,我想它应该还能用。我现在已经尝试使用javascript,但仍然得到一个错误(相应地编辑了我的问题)。您需要获取对象元素的文档并使用它,这是一个不同的文档。可能是因为node1的颜色被其子节点作为对所解释问题的注释者所覆盖。
标记没有任何我可以使用的id或类,如果我实际为它创建了一个id或类,它会破坏总体目标,因为我不需要编辑svg文件。您还有其他可行的想法吗?您可以通过element.children遍历组的子级,直到找到正确的子级。但是,如果您拒绝编辑SVG文档,您的一只手就被绑在背后游泳。
<script type="text/javascript">
window.addEventListener("load", function() {
let doc = document.getElementById("svg-object").contentDocument;
var a = doc.getElementById("node1");
a.setAttribute("fill","red");
});
</script>