Jquery DOMNodeInserted不在chrome中工作但在IE中工作

时间:2017-09-06 05:24:31

标签: javascript jquery html dom cross-browser

我有一个开发模块,其中我有一个父表,每一行都有一个子表,它们都是使用JSON数组通过Ajax调用使用jquery动态生成的。
现在我需要每次有一个带有课程" childtable"插入显示子表的id的父表行。
我尝试使用jquery DOMNodeInserted事件来实现这一点,它在IE中完美适用于我,但它在Chrome中不起作用。
我使用的是谷歌浏览器版本56.0.2924.87。
这段代码如下所示。

$('body').on('DOMNodeInserted', 'table.childtable', function(e) {
if ( ! $.fn.DataTable.isDataTable('#'+$(this).attr('id'))) {

var tab='#'+$(this).attr('id');

 alert(tab);  //fire id as alert

 $('#'+$(this).attr('id')).DataTable({
        "bSort" : false,
        "scrollCollapse": true,
        "searching": false,
        "bInfo" : false,
        "paging": false,
        "columnDefs": [{
               "targets": [ 0 ],
               "visible": false
            }]

 });
  $( tab).find( "thead tr th" ).each( function( index1 ) {
    index1 += 1;
  $(tab).find("tbody tr td:nth-child(" + index1 + ")").attr("data-title", $(this).text());
});


}


});


请帮助我们......在预先感谢您的时间。

1 个答案:

答案 0 :(得分:1)

经过长时间的搜索,我终于找到了我的问题的答案。感谢Uzair Farooq 使用对突变观察者有效的arri.js可以实现上述目的 点击这里下载该文件。 arrive.js


码:

$('body').arrive('table.childtable', function(){
   alert('#'+$(this).attr('id'));
});


现在我担心的是我无法在旧浏览器中使用此代码。旧浏览器不支持Bcoz突变观察器。

那么我们如何才能知道浏览器是否支持弃用的变异事件?是否使用jquery?

相关问题