克隆tr,但保留宽度

时间:2011-06-30 18:37:25

标签: jquery html html-table width clone

我正在尝试克隆表中的行,并将此行插入空表。容易。

但是是否可以保留tr中单元格的原始宽度(由于同一列中的其他单元格可能会扩展)?

编辑刚刚意识到我应该在克隆之后迭代匹配的单元格并同步宽度。如果有更直接的方式仍然好奇...

2 个答案:

答案 0 :(得分:4)

克隆你的行,然后遍历行的子节点,将每个子节点的宽度设置为相应索引处的原始子节点。

var target = $('#target');
var target_children = target.children();

var clone = target.clone();

clone.children().width(function(i,val) {
    return target_children.eq(i).width();
});

$('<table>',{border:1}).append(clone).appendTo('body');

示例: http://jsfiddle.net/z7hWh/

我不确定浏览器支持在<td>上设置宽度。

答案 1 :(得分:0)

指定严格的CSS规则。

可能的答案:

  • 将它们定义为每个单元格的相同宽度(可能不是您想要的)
  • 使用colgroups (推荐)
  • 不要为td定义样式,而是在表头th上定义它们。如果您的表没有标题,显然不起作用。