关于svg更改部分内容

1、先获取svg的dom信息

let svgDom= document.getElementById('id名').getSVGDocument()

let svgObj =$(svgDom).children("svg")//获取svg标签

let svgDefs =$(svgDom).children("defs")//获取defs标签

let svgGDom =$(svgObj).children("g")// 获取svg内的g标签

//先写一个获取子节点的通用函数

getElementNode(parent,nodeName){

let node = null

$.each(parent.children,function(index,item){

if(item == null){

return true

}

let childNodeName= item.nodeName

if(childNodeName == null){

return true

}

if(nodeName.indexOf(childNodeName)>-1){

node = item

return false //停止each函数

}

return node //返回相应的node

})

}

//each函数 对一个数组值进行遍历,这里是遍历dom这也是each函数常见的使用情况

$.each(svgDom,function(index,item){

// 获取text标签 这里更改text的内容

let Gtext =getElementNode(item,"text")

if(Gtext){

Gtext.textContent = Gtext.textContent.replace('你需要替换的字段','替换后的文字')//整体替换就将textContent重写

}

// 获取line标签

let Gline =getElementNode(item,'line')

if(Gline){

// attributes可以获取全部的dom信息,line这里举例修改颜色(stroke)内容

Gline.attributes['stroke'].value= '#fff'

}

})

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值