我有一个表,我希望在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); });
由于
答案 0 :(得分:4)
最好从DOM中完全删除旧的<tr>
,并在其位置添加一个新的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);
});
。这应该有效:
{{1}}
这是一个jsFiddle&gt; http://jsfiddle.net/ckvgu/
答案 1 :(得分:1)
wsHtml应该只包含元素的innerHTML。所以你不需要附加tr标签,
如果你的代码有效,你可以得到这样的结果,
<tr id="idLine223">
<tr id="idLine223">
<td class="RightNoWrap">223</td>
</tr>
</tr>
<强>解决方案:强>
删除附加tr标签的行。
wsHtml += '<td class="RightNoWrap" >' + data[0].ORDS1_LINE + '</td>';
.....
答案 2 :(得分:0)
TR行无法直接制作动画。我建议你这些步骤:
创建一个具有相同样式的一行表格,并将其定位在应该设置动画的行上。
使用jQuery的.contents()
方法获取行的内容,