Javascript 使用jQuery在表中循环-为每行计算单元格
我有一个表,我想在其中计算jQuery中的第六列。我可以通过类CTR来识别列Javascript 使用jQuery在表中循环-为每行计算单元格,javascript,jquery,Javascript,Jquery,我有一个表,我想在其中计算jQuery中的第六列。我可以通过类CTR来识别列 <table class="table"> <tr> <td class="date">08-05-2014</td> <td class="spend">615,68</td> <td class="impressions">71996&
<table class="table">
<tr>
<td class="date">08-05-2014</td>
<td class="spend">615,68</td>
<td class="impressions">71996</td>
<td class="clicks">30</td>
<td class="leads">3</td>
<td class="CTR">—</td>
<td class="eCPM">—</td>
<td class="eCPC">—</td>
<td class="eCPL">—</td>
</tr>
<tr>
<td class="date">09-05-2014</td>
<td class="spend">1983,44</td>
<td class="impressions">398429</td>
<td class="clicks">115</td>
<td class="leads">15</td>
<td class="CTR">—</td>
<td class="eCPM">—</td>
<td class="eCPC">—</td>
<td class="eCPL">—</td>
</tr>
</table>
我做错了什么代码应该是什么样子
[更新]
由于回复,我已经采用了代码。这仍然无法运行:
$( document ).ready(function() {
$('table tr').each(function(index) {
$this = $(this)
var imps = $this.find("td.impressions").val();
var clicks = $this.find("td.clicks").val();
var ctr = $this.find("td.CTR").val();
ctr = parseFloat(clicks) / parseFloat(imps) * 100;
});
});
$( document ).ready(function() {
$('tr').each(function(index) {
$this = $(this)
var imps = $this.find(".impressions").html();
var clicks = $this.find(".clicks").html();
$this.find(".CTR").html() = parseFloat(clicks) / parseFloat(imps);
});
});
控制台告诉我最后一行中的赋值为“赋值中的左侧无效”
[已解决]
$( document ).ready(function() {
$('tr').each(function(index) {
$this = $(this)
var imps = $this.find(".impressions").text();
var clicks = $this.find(".clicks").text();
$this.find(".CTR").text(parseFloat(clicks) / parseFloat(imps) * 100);
});
});
对td元素调用val()不会返回内部html。它返回value属性。如果您试图在td元素中获取html,请这样称呼它:
$this.find("td.impressions").html();
您在控制台中是否有任何错误?没有必要在当前编写的循环中找到td.CTR。另外,我想既然您只是在这里使用“table”作为选择器的一部分,那么您可能也会得到另一个table元素,它的tr tds don;您没有目标类。响应您的更新:
$this.find(“.CTR”).html(parseFloat(clicks)/parseFloat(imps))代码>