[英]looping through a table and storing a particular cell in an array if row is checked
[英]Looping through table with jQuery - calculating cell in for each row
我有一個表,我想在其中計算jQuery的第六列。 我可以按CTR類來標識該列。
<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>
我希望將點擊率計算為該給定行的點擊次數除以展示次數。 我試圖在jQuery中執行此操作,但是代碼無法運行:
$( 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();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.