jquery каждое добавление - Uncaught Ошибка: NOT_FOUND_ERR: DOM Exception 8 - PullRequest
0 голосов
/ 08 марта 2012

У меня есть следующая функция, которой передается объект, который я пытаюсь представить в виде таблицы.

Я пытаюсь перебрать внутренний объект, чтобы добавить необходимые строки таблицы, однако я получаю исключение, когда мой цикл завершил: «Uncaught Error: NOT_FOUND_ERR: DOM Exception 8»

Есть идеи?

function addTableLegend(seriesObj) {
$('#divTableLegends').append(
    $('<table>').attr({
        'id': 'tbl' + seriesObj.seriesIndex,
        'class': 'ipTable'
    }).append(
        $('<thead>').append(
            $('<tr>').append(
                $('<td>').append(seriesObj.name)
            ).append(
                $('<td>').append('Standard Deviation')
            ).append(
                $('<td>').append('Expected Return')
            )
        )
    ).append(
        $('<tbody>').append(
            $.each(seriesObj.objData, function (i, val) {
                $('<tr>')
                // ***Uncaught Error: NOT_FOUND_ERR: DOM Exception 8***
            })               
        )
    )
);
}

1 Ответ

2 голосов
/ 08 марта 2012

$.each возвращает обычный объект, а не список jQuery.Вот почему его нельзя добавить с помощью .append()

Хотя я думаю, что вы имеете в виду что-то вроде этого:

function addTableLegend(seriesObj) {

    // Define the table
    var tbl = $('<table>').attr({
            'id': 'tbl' + seriesObj.seriesIndex,
            'class': 'ipTable'
        }).append(
            $('<thead>').append(
                $('<tr>').append(
                    $('<td>').append(seriesObj.name)
                ).append(
                    $('<td>').append('Standard Deviation')
                ).append(
                    $('<td>').append('Expected Return')
                )
            )
        ).append($('<tbody>'));

    // Append the table
    $('#divTableLegends').append(tbl);

    // Container alias
    var container = tbl.children('tbody').first();

    // Iterate the data
    $.each(seriesObj.objData, function (i, val) {

        // Add item to table
        container.append(
            $('<tr>').append(
                $('<td>').html(val),
                $('<td>').html('MyDeviation'),
                $('<td>').html('MyReturn')
            )
        );

    });
}​
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...