2013-08-16 135 views
0

我在HTML矿中遇到了特殊问题。理论上有一个简单的表格。我留下它的列的大小将自动呈现在CSS中,并使用white-space:nowrap;。问题是什么时候我会在JavaScript上获得每列的大小。我尝试了几种方法,但它与呈现的内容不一致。例如,在Chrome中显示调试65px,但是当我得到这个值时,它总是不同的。我无法获得列的宽度的实际值HTML

enter image description here

我使用的JavaScript:

getBoundingClientRect().width 

outerWidth(true) 

我用尽了一切办法,但它始终返回不同的值。正在显示49px。我不知道还有什么要做的,请别人。由于

+0

为什么不ü设置一个宽度为每个列,它可如果你的字体家族/大小正在改变发生不同的浏览器 –

+0

我需要在显示不同尺寸的显示器和不同的浏览器后获取列大小 –

+0

使用'outerWidth()' –

回答

1

注意jQuery width()也将考虑任何的填充或边框你可能有一个元素

+0

来检索th的宽度我创建了运行示例,在示例中是正确的。我在jsFiddle中注意到的唯一区别是使用XHTML 1.0,而我正在使用HTML5。 http://jsfiddle.net/aderbas/dXGRM/ –

+0

我更新了你的小提琴。你引用的不仅仅是第一个(ID)的所有字段,这就是为什么你得到不一致的结果。 – Stefan

+0

但我不仅需要该行的第一个元素,我引用了第一个例子。在jsFiddle中它返回列的正确宽度。但在我的HTML身体没有。 (我正在使用HTML5) –