I am having an issue very similar to: \"Jquery \'click\' not firing when icon is on button\" however the resolution for that post is not providing a solution for me, so I th
How bout just checking within the function if the tagname is I, and if it is, getting the parent as your $btn. http://jsfiddle.net/jFIT/qZgYU/3/
$('body').on('click', 'button.vote-button', function() {
var $btn = $(this).prop('tagName').toLowerCase() == "i" ? $(this).parent() : $(this);
console.log(parseInt($btn.data('vote')));
console.log($btn.prop('tagName'));
});