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

Chr*_*nte 7 html javascript css jquery

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

当我打电话时$("#someElement").css("letter-spacing"),我会获得ems或其他任何值的价值px吗?基于这个例子:http://jsfiddle.net/xhhr2/,至少在Google Chrome中,似乎jQuery或浏览器正在px为我转换测量值.我可以一直期待这种行为吗?

Pek*_*ica 6

根据Crescent Fresh的答案,链接到Dean Edwards的黑客攻击,jQuery竭尽全力在所有浏览器中返回实际的计算像素值,而不是最初在样式表中定义的内容,所以似乎是的,你可以依赖在上面.


Dom*_*nes 5

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

编辑 根据这个答案在这里,(由佩卡的回答中引用)只有IE浏览器支持currentStyle,这给,是由CSS设置的大小(包括单位).显然,没有其他浏览器支持这一点,相反,它们都使用computed style将所有内容转换为像素.所以我差不多半.:P

  • 说得通.如果jQuery(或浏览器)返回'%`:)中的任何测量值,我会生气 (2认同)