Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/411.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/77.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 无法在重新格式化表时读取未定义的属性“createDocumentFragment”_Javascript_Jquery_Html - Fatal编程技术网

Javascript 无法在重新格式化表时读取未定义的属性“createDocumentFragment”

Javascript 无法在重新格式化表时读取未定义的属性“createDocumentFragment”,javascript,jquery,html,Javascript,Jquery,Html,我试图通过对应用程序中的现有表进行一些更改来重新格式化该表。我已经在互联网上搜索了以下错误,但我还没有找到任何解决方案 我得到的错误如下: 无法读取未定义的属性“createDocumentFragment” 这是我的 function editTable() { // debugger; // remove blank td pair $('#prodHold tr td').each(function() { // debugger; if ($(this).text()

我试图通过对应用程序中的现有表进行一些更改来重新格式化该表。我已经在互联网上搜索了以下错误,但我还没有找到任何解决方案

我得到的错误如下:

无法读取未定义的属性“createDocumentFragment”

这是我的

function editTable()
{

// debugger;
// remove blank td pair
$('#prodHold tr td').each(function() {
    // debugger;
    if ($(this).text() == ''){
       $(this).prev('td').remove();
       $(this).remove();
    }
});


// get array of all tds
var tds = $('#prodHold tr td').length;
var td_arr = [];
for(var i=0; i<tds; i++){
     // if($(this).text()!== ''){
         // td_arr.push($('#prodHold tr td').eq(i).html());
     // }
     if($(this).html()!== ''){
         td_arr.push($('#prodHold tr td').eq(i).html());
     }

}

// prepare table, wrap tr for every 4 tds, *according to your table sample
var e = '<tr>';
for(var i=1; i<=td_arr.length; i++){
    if(i%4 == 0){
        e = e + '<td>' + td_arr[i-1] + '</td></tr><tr>';
    }
    else{
        e = e + '<td>' + td_arr[i-1] + '</td>';
    } 
}
// append
$('#prodHold').html(e);
}



$(document).ready(function () {
    editTable();

});
我使用的代码来自下面发布的问题


如果我在这里做错了什么,请指导我。

该错误似乎是在$this.html上触发的,因为它没有引用DOM元素。您正在普通for循环中使用它,而您可能打算在jQuery-each循环回调中使用它

像这样:

// get array of all tds
var tds = $('#prodHold tr td'); // not length
var td_arr = [];
tds.each(function() {
    if($(this).html()!== ''){
        td_arr.push($(this).html());
    }
})
注意:你应该重新考虑你收到的错误代码是否应该被标记为接受

// get array of all tds
var tds = $('#prodHold tr td'); // not length
var td_arr = [];
tds.each(function() {
    if($(this).html()!== ''){
        td_arr.push($(this).html());
    }
})