How to change SVG fill color with jQuery on hover?
# February 8, 2013 at 9:42 pm
Hello good people,
I need help with changing SVG fill color on hover with jQuery. Thing is that in one SVG i can have path, circle or polygon elements and wish to change color on fill attribute on them when that particular SVG is hovered. Color should reverse back when pointer is not hovering element. I think that adding CSS class to do that is not right way because its simple color change on hover and can be done with jQuery attr() function(i found that on web). Also i found here on forum that jQuery functions mousenter() and mouseleave() should be used for hover. But i didn’t menaged to write my code. :(
To represent real world example:
So can someone help me, how should my jQuery code look like to achive when you hover A that fill color of path, circle, polygon changes and reverse back when you unhover. Keep in mind that i have more of SVGs on page so this should change color only on path, circle,polygon that are under hovered A element. I found on web this has to do something with $(this) jQuery but still i could not manage to write good code. :(
Thank you in advance,
Vladimir# February 9, 2013 at 8:28 pm
Well i did it myself. I was failing on most stupid thing as it mostly be in coding… and in life. :) I didn’t targeted elements as they should be targeted. Here is the code if someone needs him.
$(this).find(“path, polygon, circle”).attr(“fill”, “#ccc”);
$(this).find(“path, polygon, circle”).attr(“fill”, “#fff”);
});# February 11, 2013 at 9:59 am
@VladimirKrstic That’s a great result…my first thought was through jQuery but knowing that it’s possible via CSS is an definite plus.
I do wonder about browser support for the path/polygon/circle attributes though.
Perhaps there’s an article in there for @chriscoyier# November 12, 2013 at 11:01 am
Vladi, does this only work with inline SVG…
My SVG is called as a background-image in CSS, and I think that means I don’t have access to the ‘path’ DOM element, is that right?
(by the way your example SVG seems not to be there anymore, i’m just guessing at your structure by inspecting element …)
You must be logged in to reply to this topic.