在页面加载中我有一个包含在隐藏div中的表格。该表只有页眉和页脚定义,但没有数据行。数据行使用Ajax动态加载。重新绘制隐藏的HTML表格
一旦用户点击一个按钮,将显示包含该表(以及其他静态文本)的隐藏div。我的问题是,表格布局看起来不是很好,因为我使用宽度= 100%,在开始时表格被隐藏,并开始使用宽度为0的宽度。
理想情况下,我想知道是否有一种方法来强制重绘的表格,一旦div可见?
在页面加载中我有一个包含在隐藏div中的表格。该表只有页眉和页脚定义,但没有数据行。数据行使用Ajax动态加载。重新绘制隐藏的HTML表格
一旦用户点击一个按钮,将显示包含该表(以及其他静态文本)的隐藏div。我的问题是,表格布局看起来不是很好,因为我使用宽度= 100%,在开始时表格被隐藏,并开始使用宽度为0的宽度。
理想情况下,我想知道是否有一种方法来强制重绘的表格,一旦div可见?
我假设你有类似下面的代码:
success: function (response) {
$('mytable').html(response).show();
}
为什么不显示方法后,设置宽度,就像这样:
success: function (response) {
$('mytable').html(response).show();
$('mytable').css('width', '100%');
}
现在这个问题更有意义;) –
我的建议是在样式表CSS。有两种策略我使用:
您可以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);
给我们一些代码,请。 ;) –
它是黑色的。你可能会被吃掉。 – SQLMason
如果它开始隐藏,你需要宽度为0吗? –