边框折叠时未正确复制单元格宽度属性
cell width attribute not copied correctly when border-collapse
我正在通过复制tr-html然后复制th宽度来克隆一个表头行。但这失败了,因为当border:"Wpx"和border-collapse:"collapse"时,宽度被写为(宽度减去W)像素。如果未设置边框折叠,则宽度写入正确。
代码很简单:
var arr = [];
// copy html, where abc is the destination <tr> and def is the source
$abc.html($def.html());
// now copy widths of table header cells
$def.children().each(function() {arr.push($(this).css("width"));});
$abc.children().each(function(index) {$(this).css("width", arr[index]);});
Fiddle展示了这个问题:http://jsfiddle.net/marvmartian/9z24j7vz/4/
一个变通方法(如图所示,但已注释完毕)是检查最终的表格大小,如果它们不相等,则在写入之前(巧妙地)在宽度上添加W。
这种行为看起来像是一个bug(使用Chrome)。显然这是一个特色。我在这里错过了什么?
而且,这里是修复:
table.pvtTable tr th {
background-color: #e6EEEE;
border: 6px solid black;
padding: 5px;
box-sizing:border-box;
}
Chrome不会将单元格宽度计算为宽度+第th个边框宽度(因为边框折叠,我想是在父元素上吗?),如果你在css中添加这一点,边框将包含在最终宽度中。然而,这次不确定哪一个(firefox或chrome)是正确的。:)
小提琴:http://jsfiddle.net/9z24j7vz/5/
相关文章:
- 如何使用单击属性和工具提示动态创建表格单元格,该工具提示将超链接到页面
- 有没有一种方法可以通过列类型/属性来格式化MySQL单元格数据
- 如何在 CKEditor 表的单元格属性中添加新属性
- 如何循环访问其第三个单元格具有 rowspan 属性的每一行
- 按属性数学选择相邻单元格
- 我可以对 HTML 表格的单元格使用 onchange 属性吗?
- 如何在单元格 td HTML 中设置属性
- 如何在添加行时添加单元格样式并更改
的属性 - jqGrid 将单元格数据放入 delOptions 属性中
- 警报自定义属性值 jquery 表单元格
- Vaadin 日历:如何在事件单元格上显示另一个属性
- 边框折叠时未正确复制单元格宽度属性
- 如何在jQuery中使用handontable为特定单元格设置属性
- Kendo UI网格-单元格上的标题属性
- 如何迭代具有特定img alt属性的表行并删除javascript中的单元格
- 将数据属性添加到表单元格
- 单元格中忽略了dgrid空白css属性
- 如何在可编辑的GridX中将局部变量作为属性提供给单元格编辑器
- 当事件是由单元格中的对象jQuery引起时,如何更改该单元格的自定义属性
- 使用jquery或javascript改变表格单元格的高度属性值