【发布时间】:2012-05-22 00:52:59
【问题描述】:
通过以下内容,我可以获得选择输入的宽度(以像素为单位)。是否可以在选择列表中获取选项的宽度?谢谢
$('#mySelect').width();
更新 - 这就是我想要这个的原因。我需要在选择列表中居中文本。我无法使用 css text-align: center; 跨设备和浏览器执行此操作我唯一的选择是使用文本缩进。由于我的站点具有流动宽度并且选项具有不同的长度,因此我需要动态计算此值。
所以,如果我可以获得选择选项文本的宽度,并且还可以获得容器的宽度(容易得多),那么我可以计算出文本缩进应该是什么。谢谢
NimChimpsky 的方法似乎运行良好。代码在这里:jQuery - function runs fine when fired on div click, but not on page load
【问题讨论】:
-
不想猜测你的动机,但我真的很好奇:你为什么需要这样做?
-
你应该问如何在下拉列表中居中文本!除非您在选项中使用等宽字体,否则字符计数方法充其量只是一种技巧,因为 iiiiiiiiii 和 MMMMMMMMMM 都是 10 个字符,但像素宽度却非常不同。实际的
<option>像素宽度都是一样的。 -
@WesleyMurch 获取文本,将文本放在一个不可见的div中,测量div的宽度
-
@NimChimpsky:这是个好主意,听起来可行。 @dln:这是什么浏览器,IE8?或者是哪个平台?
option{text-align:center}应该适用于大多数浏览器。 -
主要浏览器是加分项,但最重要的设备是 iPad、iPhone、Android 和 Blackberry。
标签: jquery