JQuery Datatable - 无法获取属性的值' style&#39 ;: object为null或undefined

时间:2016-02-23 18:24:50

标签: javascript jquery datatable datatables nullreferenceexception

场景:我在2个标签中有2个不同的数据表。 单击选项卡时,我显示/隐藏div和相应的数据表。

在document.Ready上,我正在初始化数据表。它现在工作正常。但是,当我从一个选项卡切换到另一个选项卡然后调整浏览器窗口大小时,我在控制台中收到以下错误:

  

SCRIPT5007:无法获得属性' style':对象的值   null或undefined

我在datatable.min.js(版本1.10.10)中收到错误。附件是错误的屏幕截图: datatable.min.js(line number:213)

数据表的初始化如下:

{{1}}

1 个答案:

答案 0 :(得分:0)

您的问题发生在渲染中:

      "render": function (data, type, full, meta) {
            if ($(data).attr('results-grid') != "")
                return '<a href="javascript: void(0);" onclick="window.open(\'../School/DownloadEmp.aspx?EmpID=' + $(data).attr('results-grid') + '\')" target="_blank">' + data + '</a>';
                //return '<a href="javascript: void(0);" onclick="EmpLink(' + $(data).attr('results-grid') + ')">' + data + '</a>';
            else
                return data;
        }

您希望访问属性'results-grid'但$(data)不是html元素是值,要访问td元素,您可以使用fnCreateCell

       "fnCreatedCell": function (nTd, sData, oData, iRow, iCol) {
            if ($(nTd).attr('results-grid') != "")
            {
                return '<a href="javascript: void(0);" onclick="window.open(\'../School/DownloadEmp.aspx?EmpID=' + $(nTd).attr('results-grid') + '\')" target="_blank">' + sData + '</a>';
            }else{
                return sData;
            }
        }

示例:https://jsfiddle.net/cmedina/7kfmyw6x/3/