2010-11-15 135 views
3
function toggle(div) 
{ 

$("#"+div).toggle(); 
$("#l_detail").html('Hide'); 

} 

<a href=""><label id="l_label>Details</label></a> 

如何toglee功能更改文本回細節jQuery的切換文本

回答

9

你可以這樣做:

function toggle(div) { 
$("#"+div).toggle(); 

var txt = $("#"+div).is(':visible') ? 'Hide' : 'Details'; 

$("#l_detail").text(txt); 
} 
0

只是檢查DIV是:visible,如果是$("#l_detail").html('Hide')

+0

檢查@Sarfraz解決方案... – tbleckert 2010-11-15 12:35:08

0

試試這個(同時炫耀可選動畫效果「慢」):

$("#"+div).click(function() { 
    $("#l_detail").toggle("slow"); 
}); 

把它從一個例子中的文檔網站:http://api.jquery.com/toggle/

1

要當心,如果切換是動畫,你不能只是「切換」通話後測試div的可見性。您應該使用toggle功能的回調參數。

例子:

duration = 0; // Or whatever you want in ms 
$("#"+div).toggle(duration,function(){ 
    var txt = $("#"+div).is(':visible') ? 'Details' : 'Changes'; 
    $("#l_detail").html(txt); 
}); 

文檔:http://api.jquery.com/toggle/

+0

你也可以把txt變量設置的切換聲明之前,然後做的.html文件(txt)之後,所以切換需要多長時間或是否完成無關緊要。當然,那麼你從變量txt中選擇的值將是相反的順序。 – rossdavidh 2012-04-18 16:07:26