jQuery将子表行单元格求和到父行
我有一个类似于此简化示例的HTML表:jQuery将子表行单元格求和到父行,jquery,loops,html-table,Jquery,Loops,Html Table,我有一个类似于此简化示例的HTML表: <table> <tbody> <tr><th>Player</th><th>Score</th></tr> <tr><td>Jack</td><td>7</td></tr> <tr><td class="parent">Green Tea
<table>
<tbody>
<tr><th>Player</th><th>Score</th></tr>
<tr><td>Jack</td><td>7</td></tr>
<tr><td class="parent">Green Team</td><td></td></tr>
<tr><td class="child">Mark</td><td>11</td></tr>
<tr><td class="child">Tom</td><td>5</td></tr>
<tr><td>Steven</td><td>8</td></tr>
<tr><td>Greg</td><td>4</td></tr>
<tr><td class="parent">Blue Team</td><td></td></tr>
<tr><td class="child">Joe</td><td>10</td></tr>
<tr><td class="child">Jill</td><td>12</td></tr>
<tr><td class="child">Rachel</td><td>9</td></tr>
</tbody>
</table>
球员核心
杰克7
绿队
马克11
汤姆5
史蒂文8
格雷格4
蓝队
工作10
吉尔12
蕾切尔9
我试图编写必要的jQuery代码,以迭代父级的所有子行,求和分数,并将总和插入父级的分数单元格。应跳过/忽略与父级不关联的行
执行jQuery代码后,应将上表转换为:
<table>
<tbody>
<tr><th>Player</th><th>Score</th></tr>
<tr><td>Jack</td><td>7</td></tr>
<tr><td class="parent">Green Team</td><td>16</td></tr>
<tr><td class="child">Mark</td><td>11</td></tr>
<tr><td class="child">Tom</td><td>5</td></tr>
<tr><td>Steven</td><td>8</td></tr>
<tr><td>Greg</td><td>4</td></tr>
<tr><td class="parent">Blue Team</td><td>31</td></tr>
<tr><td class="child">Joe</td><td>10</td></tr>
<tr><td class="child">Jill</td><td>12</td></tr>
<tr><td class="child">Rachel</td><td>9</td></tr>
</tbody>
</table>
球员核心
杰克7
绿色团队16
马克11
汤姆5
史蒂文8
格雷格4
蓝色团队31
工作10
吉尔12
蕾切尔9
我不确定解决这个问题的最佳方法。有什么想法吗?你可以这样做:
$("tr:has(td.parent)").each(function() {
var sum = 0;
$(this).nextUntil(':not(:has(td.child))').children(':nth-child(2)').each(function() {
sum += parseInt(this.innerHTML, 10);
});
$(this).children(':eq(1)').text(sum);
});
,这将获取每个包含
的
,并一直执行,直到找到一行没有
。对于这些行,它循环通过第二个单元格()并将值添加到总和中。
将您的问题格式化,让我们理解。我的意思是表…+1,特别是对于包含parseInt的第二个参数。