2013-04-04 43 views
2

下面的jQuery js隱藏了我放置的鏈接之前的內容。點擊它會顯示。我想將文本從「顯示危機」更改爲「隱藏危機」,將函數從.show()更改爲.hide()。我不知道如何繼續這樣做,所以一些幫助會很棒!如何更改鏈接的文本和功能?

JS:

$(".crisisButtons").hide().before("<a href='#' class='showHide'>Show Crisis</a>"); 
     $(".showHide").click(function(){ 
      var link = $(this); 
      link.next().show("slow"); 
     }); 
+0

顯示您的標記 – 2013-04-04 04:38:04

回答

3

您可以使用.text()方法的回調函數。

$(".showHide").click(function(){ 
    $(this).text(function(_, text){ 
     return text === 'Show Crisis' ? 'Hide Crisis' : 'Show Crisis'; 
    }).next().toggle("slow"); 
}); 

http://jsfiddle.net/kNBwD/

+0

謝謝!此代碼完美無缺! – 2013-04-04 04:59:39

0
$("#youratag_id").text("Show crisis"); 

應該爲

或者使用切換一樣簡單:

$(function() { 
     $(".showHide").toggle(function(){ 
      $(this).text("Show crisis"); 
      .stop(); 
     }, function(){ 
      $(this).text("Hide crisis"); 
      .stop(); 
     }); 
    }); 
+0

'toggle'事件方法已經過時,並在jQuery 1.9已被刪除。 – undefined 2013-04-04 04:50:05

+1

@undefined哇,我不知道 - 謝謝你的信息。 – 2013-04-04 04:54:12

+0

感謝您的幫助依然@Evan。 – 2013-04-04 05:00:10

0

我會做這樣的事吧。

button.click(function() { 
    link.toggle('fast', function() { 
     button.text(link.css('display') === 'none' ? 'Show Crisis' : 'Hide Crisis')); 
    }); 
});