将克隆表附加到div时宽度会发生变化

时间:2011-05-19 14:34:54

标签: jquery width internet-explorer-9 clone css-tables

我正在尝试在IE9中使用自制的滚动表jQuery插件。它适用于所有其他浏览器(FF 3.6 +,Safari 5,IE 8)。我正在使用jQuery 1.6.1。

我正在做这样的事情:

var topcontainer = $('<div class=\"topcontainer\"></div>')
                      .css({
                             "background-color":bgcolor,
                             "z-index":basez+1,
                             "position":"absolute", 
                             "top":parent.offset().top,    
                             "left":parent.offset().left,
                             "overflow":"hidden",
                             "height":headerheight,
                             "width":width
                      })
                      .appendTo(container);

var top = this.clone().css({"position":"absolute"});
top.appendTo(topcontainer);

this 的宽度 - 这是原始的表元素 - 是914px。克隆后,顶部也是914px。在之后我将顶部附加到 topcontainer 顶部的宽度更改为1118px。如果我可以这样做,那就不会那么糟糕了:

top.width(914);
  or
top.css("width", "914px");

但这似乎没有任何影响。我已经尝试删除我正在申请 topcontainer 的所有额外css。这似乎也没有帮助。我注意到这个的宽度属性为100%,我删除了......没有骰子。

我一直在研究这个问题几天。任何帮助,将不胜感激。

1 个答案:

答案 0 :(得分:0)

我把我的代码煮到了:

jQuery(document).ready(function() {
    var tableClone = document.getElementById("table1").cloneNode(true);     
    document.body.appendChild(tableClone);
});

所以我只有表数据,jquery包含和doctype以确保我处于标准模式。这个javascript也导致克隆表的大小调整。我确认所有标记都已正确关闭。

最终工作的是移除开口之间的所有空白区域&lt; tr&gt;并且第一个&lt; th&gt;每行中的标签(是的,我的意思是&lt; th&gt;)以及最后的&lt; / td&gt;之间的标签。标记和关闭&lt; / tr&gt;标签

这可能是IE9中的错误吗?我开始想是的了。任何人都有其他理论吗?