无法使用jQuery在表中删除TR



所以我在使用jQuery中删除表中的特定TR时遇到了问题。

所以这是场景:

我有一张表,可在可单击的地方行。当我单击其中一个时,我将能够更新与该行关联的对象数据。但是,在更新对象后,我想反映该特定TR的TD的更改。

我的解决方案是,删除旧的TR并替换为新的TR。但是,它没有删除旧的TR,而只是插入了新的TR。所以这是我的代码:

   function update_table_after_updating(selected_violator){
            violators_table.find('tr').each(function (i, el) {
                var tr = ($(this));
                var td_text = $(this).find('td:first').text();      
                if(td_text == selected_violator.violator_id){
                    console.log(tr);
                   //I cant remove this row
                    tr.remove();
                    return false;
                }
            });
            update_table(selected_violator);
        }

update_table()函数

function update_table(violator){
        var img_str1 = '<img class="obj-pic" src="' + Main.Vars.base_path + violator.front_temp_file_path + '">';
        var img_str2 = '<img style="margin-left: 10px;" class="obj-pic" src="' + Main.Vars.base_path + violator.rear_temp_file_path + '">';
        var img_str3 = '<img style="margin-left: 10px;" class="obj-pic" src="' + Main.Vars.base_path + violator.right_temp_file_path + '">';
        var img_str4 = '<img style="margin-left: 10px;" class="obj-pic" src="' + Main.Vars.base_path + violator.left_temp_file_path + '">';
        violators_table.dataTable().fnAddData([
            violator.violator_id,
            violator.get_full_name(),
            'Under Construction',
            img_str1 + img_str2 + img_str3 + img_str4,
        ]);
        $('#violators_tbl tbody tr').on('click', function(){
            var td = $(this).find('td:first').text();
            //returns violator object
            selected_violator = get_violator(td);   
            show_modal('view_violator');
        });
    }

非常感谢!您的回答将不胜感激。

ps:我正在使用jQuery DataTables。

好吧,这有点令人失望,我已经通过jQuery文档进行了搜索,然后我发现了这一点:

.. empty() ->此方法不仅删除了孩子(和其他后代) 元素,以及匹配元素集中的任何文本。这 是因为,根据DOM规范,任何文本字符串 元素内被认为是该元素的子节点。考虑 以下html:

与删除()不同。empty()还删除了所选元素的子节点。

,瞧!TR已删除。

最新更新