jQuery更新div中的数字

时间:2010-01-26 09:52:04

标签: jquery html

我有以下代码:

function tryToDownload(url) {
    oIFrm = document.getElementById('download');
    oIFrm.src = url;
    //alert(url);
}

function downloadIt(file) {
    var text = $("#downloaded").text();
    setTimeout(function(){ $("#downloadBar").slideDown("fast") }, 700);
    setTimeout('tryToDownload("index.php?fileName='+file+'")', 400);
    setTimeout(function(){ $("#downloadBar").slideUp("fast") }, 5000);
}

还有一个ID为“已下载”的DIV。所以代码是

<div id="downloded">230</div>

230表示该项目下载了230次。我想要做的是,当某个机构点击下载时,它会更新230到231.如何通过jquery帮助实现这一点。

7 个答案:

答案 0 :(得分:1)

在调用所有setTimeOuts之后将其置于 downloadIt()函数内

var curr_val = $('#downloaded').text();
var new_val = parseInt(curr_val)+1;
$('#downloaded').text(new_val);  

答案 1 :(得分:1)

这是一个使用新的jQuery 1.4热点的机会: - )

$("#downloaded").text( function (i,current) { return parseInt(current)+1;} ) ; //Works with jQuery1.4 and above

如果为.text()提供函数,则第二个参数是当前值,因此您可以根据需要在函数中使用它。

编辑:你可以使用返回+当前+ 1; 而不是返回parseInt(当前)+1; ,这样你就可以得到0 + 1 = 1而不是如果你以空div开头,NaN + 1 = NaN。

答案 2 :(得分:0)

这个怎么样:

var num = $("div#downloaded").html();
var num_new  = parseInt(num, 10) + 1; // number add here as you want
$("div#downloaded").html(num_new);

答案 3 :(得分:0)

var div = $('#downloded');
div.text(parseInt(div.text(), 10) + 1);

示例(点击任意位置):http://jsbin.com/edure

答案 4 :(得分:0)

这样的事情会:

i = parseInt($("#downloaded").text());
$("#downloaded").text((i+1));

答案 5 :(得分:0)

var downloadCount = Number($("#downloaded").text);
$("downloaded").text(downloadCount + 1);

第一部分获取该元素中的文本并将其重新转换为数字,从而避免出现“2301”而不是“231”的任何问题。第二部分将文本设置为值+ 1。

将其包装成一个函数,并在单击下载时调用该函数。

答案 6 :(得分:0)

这个脚本怎么样:

<html>
  <head>
    <title>My Title</title>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.0/jquery.min.js"></script>
    <script type="text/javascript">
      $(function(){
          var total_download = 0;
          $("#download-it").click(function(){
            total_download = total_download + 1;
            $("#downloaded").text("Downloaded: " + total_download);
return false;
          });
        });
    </script>
  </head>
  <body>
    <form>
      <div id="downloaded">Downloaded: 0</div><br />
    <a id="download-it" href="#">click me!</a>
  </form>
  </body>
</html>