2012-03-08 44 views
0

我有以下函数传递一个对象,我试图表示为一个表。jQuery的每个附加 - 未捕获错误:NOT_FOUND_ERR:DOM异常8

我试图遍历一个内部对象可是为了添加所需的表行,我得到一次我的循环异常已经说完了“未捕获的错误:NOT_FOUND_ERR:DOM异常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*** 
      })    
     ) 
    ) 
); 
} 
+0

哪里是你的脚本不是这一个完整的一个 – mgraph 2012-03-08 09:41:47

+0

您正在使用另一个JavaScript与jQuery框架? – arunes 2012-03-08 09:42:24

+0

@mgraph我不明白,这是就我得到这个功能。你还想要调用函数吗? – Dooie 2012-03-08 09:44:33

回答

2

$.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') 
      ) 
     ); 

    }); 
}​ 
+0

Thx,工作的王牌! – Dooie 2012-03-08 12:02:10

相关问题