我有一个表格结构,看起来像这样。一张外桌和几乎每个td我都有一张内桌。
<table class="outertable">
<tr>
<td>
<table class="innertable">
<tr><td></td></tr>
<tr><td></td></tr>
</table>
</td>
<td>
<table class="innertable">
<tr><td></td></tr>
<tr><td></td></tr>
</table>
</td>
</tr>
.....
</table>
使用jQuery我需要遍历外部表中的每个td,以在某些特定的tds中添加一些独特的内容。我一直在尝试使用以下代码。如果外部表没有任何子表,它可以正常工作但是您可以理解它不适用于子表。那么如何循环遍历表中的每个td来添加内容呢?
var row = 0;
car column = 0;
for (var i = 0; i < list.length; i++) {
$(".outertable tr:eq(" + row + ") td:eq(" + column + ")").append(list[i].content);
if (column == 1) {
column = 0;
row++;
} else {
column++;
}
}
答案 0 :(得分:1)
我相信你的问题是你的CSS选择器是贪婪的。 “.outertable tr”将把所有儿童'tr'元素置于'.outertable'之下。相反,调整选择器只能获得直接子项“.outertable&gt; tr”。选择器的'td'部分也是如此。所以......
$(".outertable > tr:eq(" + row + ") > td:eq(" + column + ")").append(list[i].content);
答案 1 :(得分:0)
$(".outertable tr td").each(function() {
$(this).append(NEWCONTENT);
});