You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用jQuery实现<td>内数字递增仅生效一次(0→1)的问题求助

问题解决方法

你的代码仅能生效一次的核心原因有两个:

  • <td> 不是表单控件,不能用val()获取内容,应该用text()读取它的文本值
  • 获取到的文本是字符串类型,直接+1会触发字符串拼接而非数字加法,导致后续无法正确递增

修正后的代码如下:

$('[id^=plus]').click(function(){
    var cid = $(this).attr('id');
    // 读取td文本并转为十进制整数
    var xx = parseInt($('#w'+cid).text(), 10);
    // 处理初始值非数字的情况,默认设为0
    xx = isNaN(xx) ? 0 : xx;
    var number = xx + 1;
    $('#w'+cid).text(number); 
});

关键修正点说明

  • 替换val()为text():正确读取<td>的文本内容
  • 用parseInt(..., 10)强制转换为数字,避免字符串拼接问题
  • 增加isNaN判断:防止初始值为空或非数字时出现NaN异常

内容的提问来源于stack exchange,提问作者Jos Venes

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 19:56:50