jQuery循环使用相同类

时间:2016-01-20 08:59:12

标签: javascript jquery html

我没有。在按钮单击中动态创建的div。

<table>
   <tbody id="ProductDetail"></tbody>
</table>

点击按钮,有些没有。使用金额值创建div。

funtion createDiv(){
  $("#ProductDetail").append("<tr><td ><div class='Amount'>"+Amount+"</div></td></tr>");
}

我想循环遍历这些动态创建的div以获取jquery中的Amount值。我尝试了下面的代码。但它不是迭代循环。

function calculateAmount(){
    $('.Amount').each(function (i, obj) {
         TotalAmountValue=TotalAmountValue+$(this).html();
    });
}

请有人帮助我。

3 个答案:

答案 0 :(得分:5)

我的工作得很好!

$(document).ready(function(){
          $("#ProductDetail").append("<tr><td><div class='Amount'>3</div></td></tr>");
          $("#ProductDetail").append("<tr><td><div class='Amount'>3</div></td></tr>");
          $("#ProductDetail").append("<tr><td><div class='Amount'>3</div></td></tr>");

          $("#sum").click(function()
          {
              var sum = 0;
              $(".Amount").each(function()
              {
                  sum += parseInt($(this).text());
              });
              alert(sum);
          });
      });

.each遍历所有具有类Amount的元素。对类使用.选择器并添加名称。 Index表示位置,而val是当前元素。

编辑:获取一个局部变量并将其设置为0.之后,迭代该类的所有元素并获取其文本。由于它是String,因此js会尝试将sum变量转换为String。您需要将文本解析为int。这是一个有效的例子。

这是HTML

  <table>
      <tbody id="ProductDetail"></tbody>
  </table>
  <input type="button" id="sum" value="Sum">

答案 1 :(得分:2)

尝试使用text()

$('.Amount').each(function (i, obj) {
  TotalAmountValue += parseInt($(this).text());
});

答案 2 :(得分:1)

 $('.Amount').each(function(index, val)
    {
        //do something
    });