问题
I had a problem with a SVG map I was building, the functions triggered by onmouseover on g were not working. I used then
window.onmouseover=function(e) {
console.log(e.target.className);
};
to see if there was any problem with the classname, and then discovered than instead of the classname I was using, the system was detecting
SVGAnimatedString {animVal: "", baseVal: ""}
Something that never happened to me before the hundreds of times I've used similar code. Any idea how can I get the actual classname of the g elements on mouseover? Thanks
回答1:
Simplest way:
e.target.className.baseVal
Another way:
e.target.getAttribute("class")
回答2:
Make sure you also set the class name inside the svg path tags and then try e.target.getAttribute("class")
That worked for me.
来源:https://stackoverflow.com/questions/29454340/detecting-classname-of-svganimatedstring