$(".icon a").hover(function() {
$this = $(this);
$.data(this, 'title', $this.attr('title'));
$(this).find("em").animate({opacity: "show", top: "-35"}, "slow");
$(this).find("em").text(hoverText);
$this.removeAttr('title');
}, function(hoverText) {
$(this).find("em").animate({opacity: "hide", top: "-45"}, "fast");
$(this).attr("title", $.data(this, 'title');
});
Хитрость:
$.data(this, 'title');
Когда вы используете данные, вы фактически сохраняете переменную в этом элементе dom для целей, которые вы только что описали. Вы также можете решить эту проблему, объявив переменную $ this над исходной функцией наведения, расширив область действия, чтобы охватить оба.