代码之家  ›  专栏  ›  技术社区  ›  dallen

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

  •  11
  • dallen  · 技术社区  · 15 年前

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

    但是,我有句话说“有5个项目”。我希望在删除项目时更改“5”。我想最简单的方法是用javascript减去一。

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

    4 回复  |  直到 15 年前
        1
  •  18
  •   drs9222    15 年前

    假设计数在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));
        }
    }
    
        2
  •  7
  •   edsoverflow    15 年前

    HTML:

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

    JS:

    var span = $("span.numitems");
    span.html(parseInt(span.html()) - 1);
    
        3
  •  3
  •   Scott Baker    15 年前

    假设我们从三个方面开始:

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

    现在我们需要一些jquery来处理列表中的更改事件

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

    每次列表更改时,它都会更新以数字表示的长度。这种方法的一个优点是,通过绑定变更事件,您不需要在计时器或类似的东西上设置间隔。每件事都会按预期去做。

        4
  •  1
  •   user142019    15 年前

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

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

    然后在删除后用当前行数更改ID为“number”的范围值。堆栈溢出在添加新答案时发布新答案时使用此方法。

    可以使用

    parseInt($("span").html());