在页面加载时,我有一个包含在隐藏div中的表。该表只有页眉和页脚定义,但没有数据行。使用Ajax动态加载的数据行。
用户单击按钮后,将显示包含表(和其他静态文本)的隐藏div。我的问题是表格布局看起来不是很好,因为我使用的是宽度= 100%,并且在开始时表格是隐藏的,帽子的宽度是0开始的。
理想情况下,我想知道一旦div可见,是否有办法强制重绘表格?
答案 0 :(得分:1)
我假设你有类似的代码:
success: function (response) {
$('mytable').html(response).show();
}
为什么不在show方法之后设置宽度,如下所示:
success: function (response) {
$('mytable').html(response).show();
$('mytable').css('width', '100%');
}
答案 1 :(得分:0)
我的建议是用CSS设置表格样式。我使用了两种策略:
答案 2 :(得分:0)
您可以clone()
该元素,然后删除()它,然后插入复制的克隆并显示它。
您可以clone(true, true)
使用两个参数重新插入时重新绑定所有事件。如果这不起作用,John Reisig本身还有另一种方式:What is the most efficient way to deep clone an object in JavaScript?当clone()不够时,这对我有用。从第一个答案中使用jQuery元素作为“oldObject
”。
示例:
// Deep copy
var newObject = jQuery.extend(true, {}, $('#tableToClone'));
$('#tableToClone').remove();
$('#divArroundTable').html(newObject);