jQuery切换文本

3
function toggle(div)
{

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

}

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

如何在toglee函数中将文本更改回详细信息
4个回答

9
你可以这样做:
function toggle(div) {  
 $("#"+div).toggle();

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

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

1

注意,如果切换是动画的话,在“toggle”调用之后就无法测试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/


您也可以在切换语句之前设置txt变量,然后在之后执行.html(txt)操作,这样无论切换需要多长时间或是否完成都不会影响它。当然,此时您为变量txt选择的值将是反向的顺序。 - rossdavidh

0

只需要检查 div 是否:可见, 然后如果是的话,$("#l_detail").html('隐藏')


0
试试这样做(还演示了可选的动画效果“slow”):
$("#"+div).click(function () {
    $("#l_detail").toggle("slow");
});

从文档网站的示例中提取:http://api.jquery.com/toggle/

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接