jquery用fadein/fadeout替换表中的行

jquery用fadein/fadeout替换表中的行,jquery,Jquery,我有一个表,我想在ajax更新完成后更新其中的一行。所有行都有一个id,它是订单的行号。我尝试过各种各样的事情,但没有乐趣 这是当前命令 wsHtml += '<tr id="idLine'+data[0].ORDS1_LINE+'">'; wsHtml += '<td class="RightNoWrap" >' + data[0].ORDS1_LINE + '</td>'; ..... wsHtml += '</tr>'; $('#idLi

我有一个表,我想在ajax更新完成后更新其中的一行。所有行都有一个id,它是订单的行号。我尝试过各种各样的事情,但没有乐趣

这是当前命令

wsHtml += '<tr id="idLine'+data[0].ORDS1_LINE+'">';
wsHtml += '<td class="RightNoWrap"  >' + data[0].ORDS1_LINE + '</td>';
.....
wsHtml += '</tr>';

$('#idLine'+data[0].ORDS1_LINE).fadeOut(1000,function(){ $(this).html(wsHtml).fadeIn(1000); });
wsHtml+='';
wsHtml+=''+数据[0]。ORDS1_行+'';
.....
wsHtml+='';
$('#idLine'+data[0].ORDS1_LINE).fadeOut(1000,function(){$(this).html(wsHtml).fadeIn(1000);});

谢谢

TR行不能直接设置动画。我建议你采取以下步骤:

  • 创建一个具有相同样式的单行表格,并将其放置在应设置动画的行上

  • 使用jQuery的
    .contents()
    方法获取行的内容

  • 将内容追加到新创建的表中
  • 设置此表的动画并更改其内容
  • 然后将内容重新绑定到相关行并删除临时表

  • TR行不能直接设置动画。我建议你采取以下步骤:

  • 创建一个具有相同样式的单行表格,并将其放置在应设置动画的行上

  • 使用jQuery的
    .contents()
    方法获取行的内容

  • 将内容追加到新创建的表中
  • 设置此表的动画并更改其内容
  • 然后将内容重新绑定到相关行并删除临时表

  • 最好从DOM中完全删除旧的
    ,并在其位置添加一个新的。这应该起作用:

    var the_new_row = $('<tr id="idLine'+data[0].ORDS1_LINE+'">\
                             <td class="RightNoWrap"  >' + data[0].ORDS1_LINE + '</td>\
                         </tr>');
    
    $('#idLine' + data[0].ORDS1_LINE).fadeOut(1000, function() { 
        the_new_row.insertAfter($(this)).hide();
        $(this).remove();
        the_new_row.fadeIn(1000);
    });
    
    var\u new\u行=$('\
    “+数据[0]。ORDS1_行+”\
    ');
    $('#idLine'+数据[0].ORDS1_行).fadeOut(1000,function(){
    _new_row.insertAfter($(this)).hide();
    $(this.remove();
    新罗法登(1000);
    });
    

    这里有一个JSFIDLE>

    您最好从DOM中完全删除旧的
    ,并在其位置添加一个新的。这应该起作用:

    var the_new_row = $('<tr id="idLine'+data[0].ORDS1_LINE+'">\
                             <td class="RightNoWrap"  >' + data[0].ORDS1_LINE + '</td>\
                         </tr>');
    
    $('#idLine' + data[0].ORDS1_LINE).fadeOut(1000, function() { 
        the_new_row.insertAfter($(this)).hide();
        $(this).remove();
        the_new_row.fadeIn(1000);
    });
    
    var\u new\u行=$('\
    “+数据[0]。ORDS1_行+”\
    ');
    $('#idLine'+数据[0].ORDS1_行).fadeOut(1000,function(){
    _new_row.insertAfter($(this)).hide();
    $(this.remove();
    新罗法登(1000);
    });
    

    下面是一个JSFIDLE>

    wsHtml应该只包含元素的innerHTML。所以你不需要附加tr标签

    如果你的代码有效,你可以得到这样的结果

    <tr id="idLine223">
    <tr id="idLine223">
    <td class="RightNoWrap">223</td>
    </tr>
    </tr>
    
    
    223
    
    解决方案:

    删除附加tr标记的行

    wsHtml += '<td class="RightNoWrap"  >' + data[0].ORDS1_LINE + '</td>';
    .....
    
    wsHtml+=''+数据[0]。ORDS1\u行+'';
    .....
    
    wsHtml应该只包含元素的innerHTML。所以你不需要附加tr标签

    如果你的代码有效,你可以得到这样的结果

    <tr id="idLine223">
    <tr id="idLine223">
    <td class="RightNoWrap">223</td>
    </tr>
    </tr>
    
    
    223
    
    解决方案:

    删除附加tr标记的行

    wsHtml += '<td class="RightNoWrap"  >' + data[0].ORDS1_LINE + '</td>';
    .....
    
    wsHtml+=''+数据[0]。ORDS1\u行+'';
    .....
    
    是的,这就是我要说的:)是的,这就是我要说的:)