我有隐藏/显示某些文字的链接:
<a href="javascript:void(0);" id="toggle_status_history">show/hide history<a/>
相应的JavaScript如下所示:
$(document).ready(function() {
$('#toggle_status_history').click(function() {
if ($('#status_history').is(":hidden")) {
$('#status_history').slideDown("fast");
} else {
$('#status_history').slideUp("fast");
}
});
它很棒,但我也要切换超链接文本。我需要做些什么来修改“显示/隐藏历史记录”以显示“隐藏历史记录”(如果它当前显示)或“显示历史记录”(如果它当前被隐藏)?像这样......?
$(document).ready(function() {
$('#toggle_status_history').click(function() {
if ($('#status_history').is(":hidden")) {
$('#status_history').slideDown("fast");
// SOMETHING HERE TO SET TEXT TO 'HIDE HISTORY'
} else {
$('#status_history').slideUp("fast");
// SOMETHING HERE TO SET TEXT TO 'SHOW HISTORY'
}
});
免责声明:我有不到一个小时的JQuery经验(自90年代末以来我没有使用过JavaScript) - 我只是想修改我网站的代码示例。我已经查看了forggle()和replaceWith()函数的API,但我没有让它工作。到目前为止,谷歌搜索和RTFM都没有帮助我。
答案 0 :(得分:2)
$('#status_history').text("Whatever you want it to say");
查看jQuery Documentation。他们有一个非常好的文档,通过示例解释了一切。例如,.text(str);
函数位于manipulation
下面。
答案 1 :(得分:0)
$('#toggle_status_history').text("Show history");
答案 2 :(得分:0)
$('#status_history').text("Hide/Show History");
就是您所需要的。
执行此类操作的更好方法是使用jQuery提供的切换方法,它接受将在每次单击时循环的函数列表。这样您就不需要is(':hidden')
答案 3 :(得分:0)
$('#status_history').val("bla bla bla..");
试试这个...... fn.val()获取输入值,选择或textarea的值或文本;) fn.val(newValue)正在设置新值;)
答案 4 :(得分:0)
$(document).ready(function() {
$('#toggle_status_history').click(function() {
$('#status_history').toggle('slow')
$("#toggle_status_history").text(($("#toggle_status_history").text()=='show')?'hide':'show');
}
});