使用jQuery将内容添加到表中的特定列

时间:2010-09-15 20:41:30

标签: jquery html loops html-table

我有一个表格结构,看起来像这样。一张外桌和几乎每个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++;
    }
}

2 个答案:

答案 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);
});