jQuery替换hover时元素的文本

使用jQuery,我试图在hover时用这些链接替换文本,包括span。 然后,当用户将鼠标hover时,将再次显示原始文本。

  Replace me please    Replace me please  

最终的输出应该是

   I'm replaced!  

我正在玩弄,但不知道如何更换它。 有任何想法吗?

 $('.btn').hover(function(){ $(this).text("I'm replaced!"); }); 

 $('.btn').hover( function() { var $this = $(this); // caching $(this) $this.data('initialText', $this.text()); $this.text("I'm replaced!"); }, function() { var $this = $(this); // caching $(this) $this.text($this.data('initialText')); } ); 

您可以将原始文本保存在存储在节点本身的data-initialText属性中,以避免变量

这应该可以解决问题

 $(function(){ var prev; $('.btn').hover(function(){ prev = $(this).text(); $(this).text("I'm replaced!"); }, function(){ $(this).text(prev) }); }) 

将另一个函数添加到hover事件,如下所示:

 $('.btn').hover(function(){ $(this).text("I'm replaced!"); }, function() { $(this).text("Replace me please"); }); 

演示链接

 $('.btn').hover(function() { // store $(this).text() in a variable $(this).text("I'm replaced!"); }, function() { // assign it back here }); 

您需要将其存储在变量中以便将其设置回原来的状态,请尝试:

 var text; $(".btn").hover(function () { text = $(this).text(); $(this).text("I'm replaced!"); }, function () { $(this).text(text); });