解决svg标签在HTML中的渲染问题

在做项目时候我使用appendChild()方法将svg类的标签添加到DOM树中时,它竟然没有渲染。百科中说:SVG可缩放矢量图形(Scalable Vector Graphics)是基于可扩展标记语言(XML),用于描述二维矢量图形的一种图形格式。所以猜测可能是html与xml两种语言的差异造成的。

方法一:使用$(‘svg’).html()

<script>
  let html=`<circle xmlns="http://www.w3.org/2000/svg"  cx="${x0}" cy="${y0}" r="6" fill="#00ff00" stroke="#ffffff" stroke-width="3"   style="cursor: pointer;"/>`
  $('svg').html(html);
</script>

方法二:setAttribute()

let path=document.createElementNS('http://www.w3.org/2000/svg', 'path');
path.setAttribute(k,attr)


//函数封装
function makeSvg(tag, attrs){
       let el = document.createElementNS('http://www.w3.org/2000/svg', tag);
       for (var k in attrs)
         el.setAttribute(k, attrs[k]);
       return el;
},
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值