Javascript 无法删除要替换为新的表行

Javascript 无法删除要替换为新的表行,javascript,jquery,Javascript,Jquery,我在一个基于PLAY框架的Java项目中使用Bootstrap。在我的一次单击中,我通过获取表中每一行的div(基于服务器发送的行数)来填充表中的数据。我通过$.get()获取整个div html,然后使用.last()方法将数据填充到所获取表的各个列中。因此,这使我的表成为运行时加载的元素,而不是静态元素 第一次点击按钮时,一切正常。但是我没有删除现有的行,并在后续单击时用新行替换它们,而是将新数据绑定到现有数据下面 在获取新行之前,我尝试在先前获取的div上使用.remove()、.empt

我在一个基于PLAY框架的Java项目中使用Bootstrap。在我的一次单击中,我通过获取表中每一行的div(基于服务器发送的行数)来填充表中的数据。我通过$.get()获取整个div html,然后使用.last()方法将数据填充到所获取表的各个列中。因此,这使我的表成为运行时加载的元素,而不是静态元素

第一次点击按钮时,一切正常。但是我没有删除现有的行,并在后续单击时用新行替换它们,而是将新数据绑定到现有数据下面

在获取新行之前,我尝试在先前获取的div上使用.remove()、.empty()、.removeData()删除现有行。我甚至尝试在所有现有div上使用.each()来删除它们,但不知何故,这些都不适合我

我的结论如下:

  • 删除方法同时适用于旧的和新获取的div(因为它们显然都有公共类)

  • 这些删除方法不适用于运行时加载的元素(如我们所说的委托)

  • 已经有一段时间了,在这个问题上无所作为。有人能给我指出一个更好的方向来实现同样的目标吗

    我在上面使用的基本jQuery函数如下所示。我曾尝试在同一台计算机上使用各种方法,但现在它显示了我使用的最新方法:

    $(document).ready(function(){
        $('#searchButton').click(function(){
            $('body').find('.jresultList').empty();
            $("#jErrDisplayy").css("display","none");
            var input,div,range;
            input= $("#inputField").val();
            $.ajax({
                    url: "/fetchPTIDatas",
                    data: {num:$('#inputField').val()}, //{id:$('#conBid').val()},
                    timeout: 10000,
                    type: "POST",
                    cache: false,
                    contentType: "application/x-www-form-urlencoded",
                    dataType: "json",
                    beforeSend:function(jqXHR, options) {
                        if(input.length<7||input.length>11){
                            alert("Please enter a valid input");    
                            jqxhr.abort();
                        } 
    
                    }
                }).fail(function(jqXHR, textStatus, errorThrown){
                    alert("ajax call failed");
                }).done(function(resp, textStatus, jqXHR){
                    if(resp.errorcode){
                        $("#jErrDisplayy").css("display", "block");
                        $('.jerrorr').html("We couldn't not look up the entered code. Please enter a valid code");
                    }else{
                        range= resp.PageContainerList.length;
                        alert(range);
                        $.get("/fetchresultList", function(data){
                            $('body').find('.tableHeader').css('display', 'block');
                            $('jresultList').each(function(){
                                $('jresultList').remove();
                            });
                            for (var i=0; i <=range; i++) {
                                $('body').find('.jContrList').append(data);
                                div = $('body').find('.jContrList .jresultsList').last();
                                div.find('.accordion-body').attr('id', "collapse" + i);
                                div.find('.accordion-toggle').attr('href', "#collapse" + i);
                                div.find('.jContNo').html(resp.PageContainerList[i].container);
    
                                }
    
                        });
                                            }
                            });
        });
    });
    
    $(文档).ready(函数(){
    $(“#搜索按钮”)。单击(函数(){
    $('body').find('.jresultList').empty();
    $(“#jerrdisplay”).css(“显示”、“无”);
    var输入,div,范围;
    input=$(“#inputField”).val();
    $.ajax({
    url:“/fetchPTIDatas”,
    数据:{num:$('#inputField').val()},/{id:$('#conBid').val()},
    超时:10000,
    类型:“POST”,
    cache:false,
    contentType:“application/x-www-form-urlencoded”,
    数据类型:“json”,
    发送前:函数(jqXHR,选项){
    如果(输入长度11){
    警报(“请输入有效输入”);
    jqxhr.abort();
    } 
    }
    }).fail(函数(jqXHR、textStatus、errorshown){
    警报(“ajax调用失败”);
    }).done(函数(resp、textStatus、jqXHR){
    if(相应的错误代码){
    $(“#jerrdisplay”).css(“显示”、“块”);
    $('.jerror').html(“我们无法查找输入的代码。请输入有效代码”);
    }否则{
    范围=相应的PageContainerList.length;
    警报(范围);
    $.get(“/fetchresultList”,函数(数据){
    $('body').find('tableHeader').css('display','block');
    $('jresultList')。每个(函数(){
    $('jresultList').remove();
    });
    
    太长了,读不下去了(var i=0;我在这里添加代码……Tr.Dr-你的代码在哪里?你是HTML代码!!$(‘jReultTrist'))。;对此我深表歉意……但这是一个类,在我的代码中,请相信我,我将其用作$('.jresultList')。但问题仍然存在。