Javascript Html表在添加到其DOM ie8后不会重新绘制

Javascript Html表在添加到其DOM ie8后不会重新绘制,javascript,html,internet-explorer,dom,Javascript,Html,Internet Explorer,Dom,IE在我使用jquery向一个大表添加输入时,没有重新绘制该表,这让我很恼火。当我向上或向下滚动表格时,它会强制重新绘制/更新,但在其他情况下,它不会正确呈现输入 <div style="overflow: auto;"> <table> <tbody> /// lots of rows </tbody> </table> </div> 这在firefox中运行

IE在我使用jquery向一个大表添加输入时,没有重新绘制该表,这让我很恼火。当我向上或向下滚动表格时,它会强制重新绘制/更新,但在其他情况下,它不会正确呈现输入

<div style="overflow: auto;">
   <table>
       <tbody>
           /// lots of rows
       </tbody>
   </table>
</div>
这在firefox中运行良好,但在IE8中却不起作用。一种解决方法是强制重画,但我似乎找不到一种方法

我认为ie8是在怪癖模式下渲染的,但它在ie8或怪癖模式下都不起作用

[编辑]

function forceIERedraw() {
    if ($.browser.msie) {
        obj = getThing();
        obj.scrollTop = obj.scrollTop - 1;
        obj.scrollTop = obj.scrollTop + 1;
    }
}

这是可行的,但当然会使屏幕轻微抖动。骇人听闻的黑客攻击,但至少你可以看到我添加到dom中的东西。

隐藏和显示身体通常适用于像你这样的问题:

input = $(document.createElement("input"));
input.attr("type", "text");
input.attr("value", $.trim(div.html())); 
TD.prepend(input);
document.body.style.display = 'none';
document.body.style.display = 'block';

事实证明,这个问题是特定于我工作的网站(10岁)和ie怪癖模式下的渲染。基本上整个事情是一团糟的,这是页面上各种其他问题的副作用。

今天我遇到了一些类似的问题,只需重新编写div的整个html就解决了。后来我在这里发现了你的问题

假设您的div有一个id
stupiddiv

现在您可以这样做:
$('stupiddiv').html($('stupiddiv').html())

在附加表和所有。。。如果你有小表,那就行了,但是对于大表,我想这会对性能造成损失…

这样的问题得到“回答”是否合适?在这种情况下,没有原因我的表仍然损坏,你的答案对我没有帮助:PIt对我有效:IE7,doctype HTML4.01过渡版(因此,怪癖模式)。谢谢
input = $(document.createElement("input"));
input.attr("type", "text");
input.attr("value", $.trim(div.html())); 
TD.prepend(input);
document.body.style.display = 'none';
document.body.style.display = 'block';