Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/445.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用jQuery获取元素的精确精确定位宽度_Javascript_Jquery_Css_Html Table - Fatal编程技术网

Javascript 使用jQuery获取元素的精确精确定位宽度

Javascript 使用jQuery获取元素的精确精确定位宽度,javascript,jquery,css,html-table,Javascript,Jquery,Css,Html Table,我有两个表行(不在同一个表中),我一直试图设置row1中每个表单元格的宽度(td)=row2中每个表单元格的宽度,但结果是每次row1比row2短一点,当我使用alert检查所有表单元格的相应值时,我得到了一个ok结果,然后我使用firebug检查了这两个元素,结果是,例如,在将表格单元格的值设置为53px时,计算值为53.2167px,而第1行中其他相应表格单元格的计算宽度仅为53px,我想这就是造成差异的原因。是否有任何方法可以使用jQuery获得准确的值(53.2167px) 在您的环境中

我有两个表行(不在同一个表中),我一直试图设置row1中每个表单元格的宽度(td)=row2中每个表单元格的宽度,但结果是每次row1比row2短一点,当我使用alert检查所有表单元格的相应值时,我得到了一个ok结果,然后我使用firebug检查了这两个元素,结果是,例如,在将表格单元格的值设置为53px时,计算值为53.2167px,而第1行中其他相应表格单元格的计算宽度仅为53px,我想这就是造成差异的原因。是否有任何方法可以使用jQuery获得准确的值(53.2167px)


在您的环境中执行此操作应该可以为标题、表格单元格和内容设置正确的宽度

例子 HTML

试验
试验
试验
试验
测试
测试
测试
测试
jQuery
var headerColumns=$('theHeader thead tr:first child th');
var contentColumns=$(“#内容tbody tr:first child td”);

对于(i=0;i在您的环境中执行此操作应该可以为标题、表格单元格和内容设置正确的宽度

例子 HTML

试验
试验
试验
试验
测试
测试
测试
测试
jQuery
var headerColumns=$('theHeader thead tr:first child th');
var contentColumns=$(“#内容tbody tr:first child td”);

对于(i=0;我是说屏幕上可以看到0.2167px的差异?如何设置宽度、em、百分比等?是的,所有表格单元格的加总差异使行看起来短1或2个像素DEMO会非常复杂。我来截图。像素是一个像素,你不能在屏幕上点亮21.67%的像素n、 您需要做的是计算行宽(例如使用Javascript)并在某处添加差异(在您的示例中为1px)。我通常将其添加到最后一列。如果您使用的是.width(),请尝试使用.outerWidth()获取行的宽度,包括边距。你是说屏幕上可以看到0.2167px的差异吗?如何设置宽度,使用em、百分比等?是的,所有表格单元格的加总差异使行看起来短1或2个像素DEMO将非常复杂。我来获取屏幕截图。一个像素就是一个像素,你可以n不在屏幕上显示21.67%的行宽。您需要做的是计算行宽(例如使用Javascript)并在某处添加差异(在您的示例中为1px)。我通常会将其添加到最后一列。如果您使用的是.width(),请尝试使用.outerWidth()要获得包括边距在内的行宽度。嘿。现在这很奇怪!即使删除了
填充
,它仍然会使页眉
的宽度减少一个像素。顺便说一句,我正在使用Chrome进行测试。我想知道th/td是否两侧都有边框,但因为边框在表中折叠并重叠恢复像素?请看这个例子,使用
s而不是表格,它可以按预期工作。nvm,我想是因为表格应该有固定的宽度,请尝试设置表格{width:300px}顺便说一句,当你的代码与我的代码集成时,它在chrome上运行良好,就像我以前的代码一样,但在mozilla上运行正常,因为我的代码还有一些其他元素。它最初运行良好,但当我使用jquery隐藏一整列并再次重新计算标题值时,它在那里运行正常,我想我会继续在我找到更好的替代方案之前,用单独的代码对mozilla进行浏览器检测。事实上,我上面的提琴在Firefox中对我有效,但在Chrome中不起作用。你得到同样的结果吗?但仍然很奇怪。:)嘿。现在这很奇怪!即使去掉了
填充
,它仍然会使标题
的宽度减少一个像素。而且我在Chrome上测试顺便说一句。我想知道是不是th/td两边都有边框,但由于边框在表格中折叠并重叠,因此它会在像素后面出现?请参见的示例e>
s而不是表,并且它可以按预期工作。nvm,我想它的表应该有固定的宽度,请尝试设置table{width:300px}顺便说一句,当你的代码与我的代码集成时,它在chrome上运行良好,就像我以前的代码一样,但在mozilla上运行正常,因为我的代码还有一些其他元素。它最初运行良好,但当我使用jquery隐藏一整列并再次重新计算标题值时,它在那里运行正常,我想我会继续在我找到更好的替代方案之前,用单独的代码对mozilla进行浏览器检测。事实上,我上面的提琴在Firefox中对我有效,但在Chrome中不起作用。你得到同样的结果吗?但仍然很奇怪。:)