Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/434.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 向动态添加的元素添加html元素_Javascript_Jquery_Html - Fatal编程技术网

Javascript 向动态添加的元素添加html元素

Javascript 向动态添加的元素添加html元素,javascript,jquery,html,Javascript,Jquery,Html,我想使用JavaScript向表单元格添加一个内部表。添加下一个表数据不起作用,浏览器似乎会自动关闭内部表。仅当我从代码中删除内部表的,但未正确排列(转到下一行)时,才会显示下一个数据单元。有人能帮我做这个吗 代码: $.each(result, function(i, data){ $('#body').append( '<tr id="#tr'+data['id']+'"><td>'+(i+1)+'</td>'+ //Addin

我想使用JavaScript向表单元格添加一个内部表。添加下一个表数据不起作用,浏览器似乎会自动关闭内部表。仅当我从代码中删除内部表的
,但未正确排列(转到下一行)时,才会显示下一个数据单元。有人能帮我做这个吗

代码:

$.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>');
});
$。每个(结果、函数(i、数据){
$('#body')。追加(
“”+(i+1)+“”+//添加新行
''+数据['code']+''+
''+数据['dscr']+
“”+//插入内部表
“+”单价数量“);
$.each(数据,函数(j,meta){//插入内部表的行
if(元的类型['unit']!='undefined'){
$('#'+数据['id'])。追加(''+
''+meta['unit']+''+
''+meta['price']+''+
''+meta['qty']+''元+
“你好”);
}                                   
});
$('#body')。追加(
“”+//正在关闭内部表
“”+//添加下一个表数据
''+
''+
'');
});
我修改了代码并添加了这个部分。但这并不影响桌子。该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>'
);
$('#tr'+数据['id'])。追加(
''+
''+
''+
''
);
当你.append()一个html字符串时,它将被解析并成为dom的一部分,因此你附加一个“块”的块的方法不起作用


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

您能为“result”(输入$each)提供一些示例值吗?尝试..如果您附加了一个不平衡的HTML片段,浏览器将尝试将其“修复”为有效的HTML。这是smple json文件[{“id”:“6”,“code”:“A4PCP”,“dscr”:“A4复印纸”,“0”:{“unit”:“Box”,“price”:“60”,“qty”:“0”},“1”:{“unit”:“Ream”,“price”:“11”,“qty”:“0”}]