将html元素添加到动态添加的元素中

时间:2013-12-25 10:33:22

标签: javascript jquery html

我想使用JavaScript向表格单元格添加内部表格。添加下一个表数据不起作用,它看起来浏览器会自动关闭内部表。只有当我从代码中删除内部表的</table>但未正确排列时才会显示下一个数据单元格(转到下一行)。请有人帮我这个......

CODE:

$.each(result, function(i, data){
    $('#body').append(
        '<tr  id="#tr'+data['id']+'"><td>'+(i+1)+'</td>'+  //Adding new row
        '<td>'+data['code']+'</td>'+
        '<td>'+data['dscr']+
        '<div class="table-dscr">'+                        //Inserting inner table
        '<table id="'+data['id']+'">'+                              '<tr><th>Unit</th><th>Price</th><th>Qty</th></tr>');

    $.each(data, function(j, meta){                    //Inserting rows of inner table
        if (typeof meta['unit'] != 'undefined') {
            $('#'+data['id']).append('<tr>'+
                '<td>'+meta['unit']+'</td>'+
                '<td>'+meta['price']+'</td>'+
                '<td>'+meta['qty']+'</td>'+
                '</tr>Hello ');
        }                                   
    });

    $('#body').append(
        '</table></div></td>'+                         //Closing inner table
        '<td class="table-btn">'+                      //Adding next table data
        '<a href="additem.php?edit_id='+data['id']+'">Edit</a>'+
        '<a href="viewstock.php?delete_id='+data['id']+'">Delete</a>'+
        '</td></tr>');
});

我修改了代码并添加了这部分。但它并没有影响到桌子。 id是动态添加的..

$('#tr'+data['id']).append(
    '<td class="table-btn">'+
        '<a href="additem.php?edit_id='+data['id']+'">Edit</a>'+
        '<a href="viewstock.php?delete_id='+data['id']+'">Delete</a>'+
    '</td></tr>'
);

1 个答案:

答案 0 :(得分:1)

当你.append()一个html字符串时,它将被解析并成为dom的一部分,所以你附加一个'block'块的方法是行不通的。

如果先创建一个字符串,然后再创建.append(),它应该可以正常工作