【发布时间】:2014-05-30 16:41:54
【问题描述】:
问题标题可能看起来模棱两可,但我会在这里尝试详细解释。
所以我正在生成一个基于 JSON 数据的动态表。在表格内部,我有几个标签,在其中一个标签中,我进一步填充了包含在标签中的表格数据。 td 标记内的表格数量可能会有所不同,但最大表格数量为 4。这是填充表格后生成的粗略 HTML 标记。
当前标记
<table>
<tbody>
<tr>
<td></td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td>
<table>
</table>
</td>
<td>
<table>
</table>
</td>
<td>
<table>
</table>
</td>
<td>
<table>
</table>
</td>
</tr>
<tr>
<td></td>
</tr>
</tbody>
</table>
预期加价
<table>
<tbody>
<tr>
<td></td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td>
<table>
</table>
</td>
<td>
<table>
</table>
</td>
</tr>
<tr>
<td>
<table>
</table>
</td>
<td>
<table>
</table>
</td>
</tr>
<tr>
<td></td>
</tr>
</tbody>
</table>
正如您在第三个标签中看到的,我有 4 个标签,其中包含各个表格。如果第三行中的标签数量大于 2,我想要实现的目标,那么我应该在下面创建另一个标签,并将 4 个标签(包含表格)分成 2 个标签(每个标签有 2 个标签)。
由于表格是动态生成的,因此我没有预定义的 HTML 标记。
这是我相关的 JS 函数
drawRunningDailyDoublesTables:函数(事件、表格){
var indexes = $(table).data('BetTableData').eventIndexes;
table.innerHTML = '';
// Drawing STAB / NSW product selection
betTable.drawBetTypeProductSelection(table);
// Error space
betTable.drawErrorSpace(table);
var trForTables = $('<tr/>')
.appendTo(table);
// Drawing tables for doubles
$.each(indexes, function(j, index) {
var betTableData = new BetTableData();
betTableData.setMarketId(events[index].markets[0].id);
var doubleTable = $('<table/>')
.data('BetTableData', betTableData);
// Names and info of races
betTable.drawHeaderForDoubles(doubleTable, events[index], 3);
// Horse selections
betTable.drawSelectionsForRunningDoubles(table, doubleTable, events[index], j+1);
// here I am generating the td tag with tables as mentioned in the question. It could be 2,3 or 4 depending on the different situation.
$('<td style="vertical-align: top;"/>')
.appendTo(trForTables)
.append(doubleTable)
// Footer
createFooterRowForRunningDoubles("white", 2, table, doubleTable, j+1);
});
// draw button for betting
betTable.drawExoticBetBtnForDoubles(table);
betTable.selectDefaultRadioProduct(table);
},
【问题讨论】:
-
创建一个 JSFiddle 以帮助回答者隔离受影响的代码 + 发布之前:和之后:(您的问题中只有之前)应用回答者代码后标记的外观,
-
@JFit 我已经在标记前后更新了我的问题。我不确定如何在 Fiddle 上重新创建场景,因为我的代码中没有任何核心内容。一切都是动态生成的,
-
所以你想要
在每 2 个内表之后? @JFit 没错。它发现第三个 tr 标签中有 4 个表的那一刻。它将它们分成两个 tr 标签,每个标签有 2 个 td(包含表格)。
标签: javascript jquery html