我有一个变量html
存储HTML每个循环不更新HTML:jQuery的变量
<tr class="odd">
<td class="charge1">0</td>
<td class="nc1">0</td>
</tr>
<tr class="even">
<td class="charge2">0</td>
<td class="nc2">0</td>
</tr>
<tr class="odd">
<td class="charge3">250</td>
<td class="nc3">0</td>
</tr>
基本上我需要用类开始charge
的价值观为td
与添加值的td
班级以nc
开头,并将td
中的值替换为以nc
开头的班级。每行中td
的值都可能发生变化,因此代码需要是动态的。所以在这个例子中,在变量产生的HMTL应该是:
<tr class="odd">
<td class="charge1">0</td>
<td class="nc1">0</td>
</tr>
<tr class="even">
<td class="charge2">0</td>
<td class="nc2">0</td>
</tr>
<tr class="odd">
<td class="charge3">250</td>
<td class="nc3">250</td>
</tr>
在这个例子中,这实际上改变了仅排第三行。开头的td
现在显示250
,而不是原始0
。
如果确实发生了变化,我必须在代码后面使用变量html
,并更新td
信息。
这是我的代码,但它不工作:
var html = $('#chargetable').html();
console.log(html);
$('[class*=nc]', html).each(function(){
var ncamount = $(this).html();
var chargeamount = $(this).parents('tr').find('[class*=charge]').html();
var totalnc = parseFloat(chargeamount) + parseFloat(ncamount);
$(this).html(totalnc);
console.log(chargeamount + ' ' + ncamount + ' ' + totalnc);
});
console.log(html);
这是控制台的日志的结果:
<tr class="odd">
<td class="charge1">0</td>
<td class="nc1">0</td>
</tr>
<tr class="even">
<td class="charge2">0</td>
<td class="nc2">0</td>
</tr>
<tr class="odd">
<td class="charge3">250</td>
<td class="nc3">0</td>
</tr>
0 0 0
0 0 0
250 0 250
<tr class="odd">
<td class="charge1">0</td>
<td class="nc1">0</td>
</tr>
<tr class="even">
<td class="charge2">0</td>
<td class="nc2">0</td>
</tr>
<tr class="odd">
<td class="charge3">250</td>
<td class="nc3">0</td>
</tr>
的HTML变量没有被更新,但我不能为了我的生活找出如何让它更新,分割变量的短缺,用类nc
替换td
,并在每次迭代中重新创建html
变量。我认为有一个更好的方法来做到这一点。
任何帮助,非常感谢。
感谢您的帮助! – Michael 2014-12-05 19:45:53