使用javascript选择并操作SVG的g元素

使用javascript选择并操作SVG的g元素,javascript,dom,svg,Javascript,Dom,Svg,如何按类选择g组内的所有路径?比如说 <svg> ... <g class="myClass" ... <path ... /> ... 您可以使用常用的DOM方法,如querySelector,getElementsByTagName,getElementsByClassName 函数randHexColor(){//请注意,它可能会产生无效的颜色 返回“#”+(Math.random()*Math.pow(2,8*3)|

如何按类选择g组内的所有路径?比如说

<svg>  
...  
<g  
class="myClass"  
...  
<path  
...  
/>  

...  

您可以使用常用的DOM方法,如
querySelector
getElementsByTagName
getElementsByClassName

函数randHexColor(){//请注意,它可能会产生无效的颜色
返回“#”+(Math.random()*Math.pow(2,8*3)| 0.toString(16);
}
var svg=document.getElementById('svg'),
path=svg.querySelectorAll('.myClass>path');

对于(var i=0;i您可以使用常用的DOM方法,如
querySelector
getElementsByTagName
getElementsByClassName

函数randHexColor(){//请注意,它可能会产生无效的颜色
返回“#”+(Math.random()*Math.pow(2,8*3)| 0.toString(16);
}
var svg=document.getElementById('svg'),
path=svg.querySelectorAll('.myClass>path');

对于(var i=0;我正在尝试将此方法应用于我的特定情况,但我收到一个错误,它只是说函数未定义。当svg位于外部加载的对象标记geing中时,您确定此方法有效吗?@Iatesometau您应该发布用于加载svg的代码。不,它们来自同一来源。再进行一些谷歌搜索,w过几天我会回来。尝试通过提醒paths.toString()进行调试并返回[object NodeList]。这有意义吗?啊哈!我找到了一个工作解决方案。paths[I]。style.fill=“#xxxxxx”);而不是paths[I]。setAttribute('fill',“#xxxxxx”);但不确定为什么第二种方法不起作用。我正试图将此方法应用于我的具体情况,但我得到一个错误,它只是说函数未定义。当svg位于外部加载的对象标记geing中时,您确定此方法起作用吗?@Iatesometau您应该发布用于加载svg的代码。不,它们是相同的相同的来源。再进行一些谷歌搜索,几天后就会回来。尝试通过警告paths.toString()并返回[object NodeList]进行调试。这有意义吗?啊哈!我找到了一个有效的解决方案。paths[I]。style.fill=“#xxxxxx”);而不是paths[I]。setAttribute('fill',“#xxxxxx”);但不确定第二种方法为什么不起作用。