2012-03-08 41 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

相關問題