jQuery会不会在px之外的其他内容中返回CSS测量值?

时间:2011-04-21 16:34:27

标签: javascript jquery html css

我正在重写我的Textarea Line Count plugin(< - 无耻插件),并提出这个问题:

当我致电$("#someElement").css("letter-spacing")时,我是否会在empx以外的任何地方获得值?基于此示例:http://jsfiddle.net/xhhr2/,至少在谷歌浏览器中,似乎jQuery或浏览器正在将测量值转换为px。我可以一直期待这种行为吗?

2 个答案:

答案 0 :(得分:6)

根据链接到Dean Edwards黑客的Crescent Fresh's answer,jQuery花了很大的力气在所有浏览器中返回实际的计算像素值,而不是最初在样式表中定义的内容,所以看起来似乎是的,你可以信赖它。

答案 1 :(得分:5)

据我所知,浏览器必须将您提供的每个尺寸(无论是em%等)转换为像素。这就是DOM存储它的方式,因此jQuery会将该值返回给您。

修改 根据这个答案here,(由Pekka的回答引用)只有IE支持currentStyle,它给出了CSS设置的大小(包括单位)。显然,没有其他浏览器支持此功能,相反,它们都使用computed style将所有内容转换为像素。所以我差不多半。 :P