jquerywrap-on-svg-path隐藏路径

jquerywrap-on-svg-path隐藏路径,jquery,html,svg,anchor,Jquery,Html,Svg,Anchor,我试图将svg路径包装到HTML锚元素中。问题是,包装已经完成,但是svg路径不再显示在页面上 $('svg-path').each(function() { var li_name = $(this).data("name"); $(this).wrap($('<a xlink:href=""></a>')); $(this).parent().attr("xlink:href", $(`.linker-${li_name}`).text());

我试图将svg路径包装到HTML锚元素中。问题是,包装已经完成,但是svg路径不再显示在页面上

$('svg-path').each(function() {
    var li_name = $(this).data("name");
    $(this).wrap($('<a xlink:href=""></a>'));
    $(this).parent().attr("xlink:href", $(`.linker-${li_name}`).text());
  });
$('svg-path')。每个(函数(){
var li_name=$(此).data(“名称”);
$(this.wrap($('');
$(this.parent().attr(“xlink:href”,$(`.linker-${li_name}').text());
});
希望有人能在这里帮助我。

SVG
元素与HTML
元素不同。它们有不同的名称空间。jQuery正在插入HTML
元素,就SVG呈现而言,该元素是无效的元素。因此它和它的内容(代码)一起被忽略

通常,不能使用jQuery添加SVG元素。它是专为HTML设计的。因此,您需要使用另一种方法,例如vanillaJS

$('.svg路径')。每个(函数(){
var li_name=$(此).data(“名称”);
wrapSvgLink(此,li_名称);
});
函数wrapSvgLink(元素、url){
//创建一个SVG元素
var a=document.createElements(elem.namespaceURI,“a”);
//添加xlink:href属性
a、 刚毛(“http://www.w3.org/1999/xlink“,”xlink:href“,url);
//在路径之前将新元素插入DOM
elem.parentNode.insertBefore(a,elem);
//移动路径,使其成为元素的子级
a、 儿童(elem);
}

您的jQuery选择器似乎有误。什么类型的元素被命名为
?那是打字错误吗?您的意思是
$('.svg路径')
?请发布一个。