我正在重写我的Textarea Line Count plugin(< - 无耻插件),并提出这个问题:
当我致电$("#someElement").css("letter-spacing")
时,我是否会在em
或px
以外的任何地方获得值?基于此示例:http://jsfiddle.net/xhhr2/,至少在谷歌浏览器中,似乎jQuery或浏览器正在将测量值转换为px
。我可以一直期待这种行为吗?
答案 0 :(得分:6)
根据链接到Dean Edwards黑客的Crescent Fresh's answer,jQuery花了很大的力气在所有浏览器中返回实际的计算像素值,而不是最初在样式表中定义的内容,所以看起来似乎是的,你可以信赖它。
答案 1 :(得分:5)
据我所知,浏览器必须将您提供的每个尺寸(无论是em
,%
等)转换为像素。这就是DOM存储它的方式,因此jQuery会将该值返回给您。
修改强>
根据这个答案here,(由Pekka的回答引用)只有IE支持currentStyle
,它给出了CSS设置的大小(包括单位)。显然,没有其他浏览器支持此功能,相反,它们都使用computed style
将所有内容转换为像素。所以我差不多半。 :P