Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/472.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在删除列后使IE8重新呈现表_Javascript_Html_Html Table_Internet Explorer 8_Repaint - Fatal编程技术网

Javascript 在删除列后使IE8重新呈现表

Javascript 在删除列后使IE8重新呈现表,javascript,html,html-table,internet-explorer-8,repaint,Javascript,Html,Html Table,Internet Explorer 8,Repaint,我有一张这样的表格: <table width="100%" style="table-layout: fixed;" class="listtable"> ... </table> 。。。 DOM加载后,我删除最后一个td。当然,除了IE8之外,每个浏览器都将表格保持在100% IE8只是删除该列,留下空间,而不调整其他列。检查表时,表元素为100%,但t主体不为100%。删除列后,我已经尝试设置t正文的宽度,但没有效果 有人知道我如何强制IE8重新渲染我的桌子并拉

我有一张这样的
表格

<table width="100%" style="table-layout: fixed;" class="listtable"> ... </table>
。。。
DOM加载后,我删除最后一个
td
。当然,除了IE8之外,每个浏览器都将表格保持在100%

IE8只是删除该列,留下空间,而不调整其他列。检查表时,
元素为100%,但
t主体
不为100%。删除列后,我已经尝试设置
t正文的宽度,但没有效果

有人知道我如何强制IE8重新渲染我的桌子并拉伸到100%以上吗?


注意:我无法控制服务器端生成的html,因此我需要在这里使用JavaScript。

我尝试根据您的需要创建一个JSFIDLE,但在IE8兼容模式激活的情况下,我不会遇到您的问题。那剧本适合你吗

我创建了一个没有使用javascript的代码,因为我不知道您是否想要使用库

var table = document.getElementById("myTable");

var th = table.getElementsByTagName("th");
var thead = table.getElementsByTagName("thead");
var tbody= table.getElementsByTagName("tbody");
var tbody_tr= tbody[0].getElementsByTagName("tr");
var thead_tr = thead[0].getElementsByTagName("tr");

thead_tr[0].removeChild(th[th.length-1]);

var current_td = null;
for(i = 0; i < tbody_tr.length; i++) {
    current_td = tbody_tr[i].getElementsByTagName("td");
    tbody_tr[i].removeChild(current_td[current_td.length-1]);
}​
或者如果希望浏览器自动重新计算列宽,请更改表格的样式:

style="table-layout: auto; "

你能提供表格的完整结构,包括AD、tbody、th和td标签吗?以及您正在使用的javascript代码?为什么不打开:这似乎只在IE8标准模式下发生。谢谢通过设置表格布局,我发现它基本上做了相同的事情。虽然它实际上只在使用
设置超时时起作用,但非常奇怪。您可以将此链接添加到您的答案中,我会将其标记为已接受!谢谢你的帮助!哦,好的,对不起,我不能帮你,因为我的电脑上没有安装原来的IE8!不客气^^
style="table-layout: auto; "