Javascript 内联SVG中的分组元素在组子级上禁用getElementById()
我在HTML文档中直接编写了一个简单的SVG。它包含一个具有唯一ID的Javascript 内联SVG中的分组元素在组子级上禁用getElementById(),javascript,jquery,html,svg,Javascript,Jquery,Html,Svg,我在HTML文档中直接编写了一个简单的SVG。它包含一个具有唯一ID的路径,即原始路径。我可以通过getElementById()直接访问该路径,如下所示: HTML: 但是,如果我将我的originalPath包装在一个组中(直接在HTML中),那么getElementById()函数会突然停止工作,svgPath是未定义的。jQuery行也不起作用 <svg id="previewImage" xmlns="http://www.w3.org/2000/svg" xmlns:xlink
路径
,即原始路径
。我可以通过getElementById()
直接访问该路径,如下所示:
HTML:
但是,如果我将我的originalPath
包装在一个组中(直接在HTML中),那么getElementById()
函数会突然停止工作,svgPath
是未定义的。jQuery行也不起作用
<svg id="previewImage" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g>
<path id="originalPath" d=""></path>
</g>
</svg>
我看不出我做错了什么。我甚至尝试先访问该组,然后访问其子组,但没有成功。有人能给我指一下正确的方向吗?请创建一个。我们可以运行的东西,例如JSFIDLE或堆栈代码段。在这里工作我被困在这个问题上,认为实际上是group元素导致了所有这些问题(没有group=工作正常,group=不工作,元素突然未定义),我没有意识到问题可能在其他地方。实际发生的情况是,我的文件显然没有在Git中很好地合并,我突然错误地删除了SVG中没有原始路径ID的所有子项,包括它所包装的组。谢谢你们两位抽出时间。我是否可以将此问题标记为已结束,或者是否需要aswer才能完成?
var svg = document.getElementById("previewImage");
var svgPath = svg.getElementById("originalPath");
// var svgPath = $("#originalPath")[0]; // Also working
<svg id="previewImage" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g>
<path id="originalPath" d=""></path>
</g>
</svg>