在jquery中按下按钮之前,如何分配id值

在jquery中按下按钮之前,如何分配id值,jquery,html,Jquery,Html,我有个问题,我直截了当地说: 我有一个表,有一个名称,一个数量和一个按钮,用来改变数量的值 <table> <tr> <td>name1</td> <td><button id = "add1" data-add = "1">add</button></td> <td id = "quant1">0</td> </tr> <

我有个问题,我直截了当地说:

我有一个表,有一个名称,一个数量和一个按钮,用来改变数量的值

<table>
  <tr>
    <td>name1</td>
    <td><button id = "add1" data-add = "1">add</button></td>
    <td id = "quant1">0</td>
  </tr>
  <tr>
    <td>name2</td>
    <td><button id = "add2" data-add = "2">add</button></td>
    <td id = "quant2">0</td>
  </tr>
</table>
我的想法是

    var quant = 0;
    var id;
    $('#add' + $(this).attr('data-add')).on('click', function() {
      id = $(this).attr('data-add');
      quant++;
      $('#quant' + id).html(quant);
    });
但是不起作用。
有什么想法吗?

问题是因为
这个
在您使用它时引用的是最高级别的元素-窗口-而不是
#add
元素本身。更好的方法是使用公共类来干燥代码,并使用DOM遍历来消除识别单个元素的需要。大概是这样的:

<table>
    <tr>
        <td>name1</td>
        <td><button class="add" data-add="1">add</button></td>
        <td class="quantity">0</td>
    </tr>
    <tr>
        <td>name2</td>
        <td><button class="add" data-add="2">add</button></td>
        <td class="quantity">0</td>
    </tr>
</table>

问题是因为
在您使用时引用的是最高级别的元素-窗口-而不是
#add
元素本身。更好的方法是使用公共类来干燥代码,并使用DOM遍历来消除识别单个元素的需要。大概是这样的:

<table>
    <tr>
        <td>name1</td>
        <td><button class="add" data-add="1">add</button></td>
        <td class="quantity">0</td>
    </tr>
    <tr>
        <td>name2</td>
        <td><button class="add" data-add="2">add</button></td>
        <td class="quantity">0</td>
    </tr>
</table>

关于这一点的另一个问题:如何将函数中的返回值添加到属性“value”中?只需在函数中设置它,
var value=parseInt(text,10)+increment;return
value`。关于此问题的另一个问题是:如何将函数中的返回值添加到属性“value”?只需在函数中设置它,
var value=parseInt(text,10)+increment;返回
value`。