I created a fiddle to try to debug a problem I'm having where once I rearrange html elements with jQuery, hover events on those elements don't work anymore.
However, I came across this interesting situation here: http://jsfiddle.net/4yv1trj4/
I have a main div
that changes color once I hover over it.
$("#block").hover(function() {
$(this).css("backgroundColor", "red");
}, function() {
$(this).css("backgroundColor", "#888");
});
If you click the button, the main div
's ID changes to block2
:
$("#block").attr("id","block2");
but $("#block").hover()
still fires when I hover over #block2
. Also, all hover calls on #block2
do not work. Is there a fundamental principle of how jQuery works that would explain this?