Добавить содержимое к определенным столбцам в таблице с помощью jQuery - PullRequest
2 голосов
/ 16 сентября 2010

У меня структура таблицы выглядит примерно так. Один внешний стол и почти в каждом тд я получил внутренний стол.

<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 в таблице, чтобы добавить контент?

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 ]

1 голос
/ 16 сентября 2010

Я считаю, что ваша проблема в том, что ваши CSS-селекторы жадные.«.outertable tr» получит все дочерние элементы «tr» в «.outertable».Вместо этого настройте селектор так, чтобы он получал только прямые дочерние элементы ".outertable> tr".То же самое относится и к части «td» селектора.Итак ...

$(".outertable > tr:eq(" + row + ") > td:eq(" + column + ")").append(list[i].content);
0 голосов
/ 16 сентября 2010
$(".outertable tr td").each(function() {
   $(this).append(NEWCONTENT);
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...