Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/410.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用JavaScript选择SVG和路径元素_Javascript_Svg - Fatal编程技术网

使用JavaScript选择SVG和路径元素

使用JavaScript选择SVG和路径元素,javascript,svg,Javascript,Svg,我想选择SVG中的最后一条路径并将其删除。我在纯javascript和jquery中尝试了多种方法,但似乎无法正确访问SVG或其路径 HTML: <div id="thesvgwrapper"> <svg id="thesvg"...><path ....></path><path ...></svg> </div> 我可以通过以下方式查看SVG的内容: var svgwrapper = $('#s

我想选择SVG中的最后一条路径并将其删除。我在纯javascript和jquery中尝试了多种方法,但似乎无法正确访问SVG或其路径

HTML:

<div id="thesvgwrapper">    
  <svg id="thesvg"...><path ....></path><path ...></svg>
</div>
我可以通过以下方式查看SVG的内容:

var svgwrapper = $('#svgwrapper');
var svgcontents = $(svgwrapper).html();
alert(svgcontents);
但是,我无法同样地选择SVG并查看其路径内容

我的目标是

$('#thesvg path:last').remove();

非常感谢您的帮助

我假设您使用的是与SVG兼容的浏览器,如Firefox


我已经有一段时间没有尝试通过jQuery操作SVG了。我记得我不太愿意使用SVG jQuery插件,但是没有它,我在访问DOM中的元素时遇到了一些问题。包含插件使我能够访问元素,因此包含插件可能有助于解决您遇到的问题。

以下是纯JavaScript的可执行代码:

var paths = svgDoc.getElementsByTagName("path");
var last_path = paths[paths.length - 1];
last_path.parentNode.removeChild(last_path);

你能举个例子吗?见下面我的评论。使用jquery选择最后一条路径实际上相当容易,纯javascript可能也能工作。我的代码中还有其他问题。谢谢。事实证明,选择最后一条路并不是阻碍我前进的真正原因。。。修复了一些其他的东西,它成功了。这个解决方案看起来不错。我现在正在使用一些jquery,这已经足够好了:var svg=document.createElementNSns,'svg';$'svg路径:最后一个子项“.remove;
var paths = svgDoc.getElementsByTagName("path");
var last_path = paths[paths.length - 1];
last_path.parentNode.removeChild(last_path);