This is an issue that usually beginner would encounter when things like .hover and .click did not work with dynamically generated elements.
To resolve the issue, instead of using element.click(), $(document).on("click", "element_selector", function() should be used for live contents. Note that the .hover takes two callback functions, in order to achieve the same effect, mouseenter and mouseleave events should be put in when using $(document).on in this case.
$(document).on("mouseenter", "li", function() { // hover starts code here }); $(document).on("mouseleave", "li", function() { // hover ends code here });
reference: http://stackoverflow.com/questions/14950321/how-to-bind-hover-to-dynamically-created-li-elemtent