jQuery:如何获取span的内容,减去1,并用新数字替换span的内容?

时间:2009-07-24 22:16:34

标签: jquery

假设我有一个PHP循环显示您可以删除的数据。我正在使用AJAX,所以当你删除一行时,它会处理一个PHP脚本,并且该行会从页面中消失。

但是,我有一些说“有5个项目”。删除项目时,我希望更改“5”。我认为最简单的方法是在Javascript中减去一个。

问题是,我真的不知道怎么做。如果有人能指出我正确的方向,那就太好了。

4 个答案:

答案 0 :(得分:19)

假设计数在id为'cnt'的范围内:

$("#cnt").text($("#cnt").text()-1)

修改
更安全的版本:

var cntTag = $("#cnt:first");
if (cntTag.Length == 1)
{
    var cnt = parseInt(cntTag.text());
    if (!isNaN(cnt))
    {
        cnt--;
        cntTag.text(String(cnt));
    }
}

答案 1 :(得分:7)

HTML:

There are <span class="numitems">5</span> items.

JS:

var span = $("span.numitems");
span.html(parseInt(span.html()) - 1);

答案 2 :(得分:3)

假设我们从三开始:

<p>There are <span id='number'>3</span> items.</p>
<ol id ='thelist'>
  <li> one
  <li> two 
  <li> three
</ol>

现在我们需要一些jQuery来处理列表中的change事件

$(function(){
  $('#thelist').bind('change', function(){
    $('#number').html($('#thelist li').length)
  }
}

每次#thelist更改时,它都会更新#number中的长度。这种方法的一个优点是通过绑定更改事件,您不需要在计时器或类似的东西上设置setInterval。一切都做到了应有的效果。

答案 3 :(得分:1)

如果有更改,请更新完整列表。大约每5秒钟使用AJAX检查一次。

或者

There are <span id="number">5</span> items.

然后使用删除后的当前行数更改带有“数字”的span的值。当您添加新答案时,Stack Overflow会在发布新答案时使用此方法。

您可以使用

进行减法
parseInt($("span").html());