JQuery 101 - 更改文本值

时间:2010-02-08 21:42:47

标签: javascript jquery dom toggle

我有隐藏/显示某些文字的链接:

<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都没有帮助我。

5 个答案:

答案 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');
}
});