抓取元素的css属性返回错误的值

时间:2014-04-04 10:49:30

标签: javascript jquery

简单的小提琴 - http://jsbin.com/mamenagu/1/edit
一个更彻底的小提琴 - http://jsbin.com/mamenagu/7/edit

我正在研究一个实验性网站设计师,我遇到了一个问题,抓住了元素的CSS样式。

我注意到当我将css样式设置为80%时。浏览器以像素形式而不是基于百分比的形式检索它。

这是代码......

$(".montrer-largeur").html("width: " + $(".la-largeur").css('width'));

此外,当我使用它作为要检索的值时,没有定义填充,溢出等:我注意到它也抓住了默认值而不是将其留空。

我知道我可以使用以下代码通过百分比获取元素宽度(演示提供here

var width = ( 100 * parseFloat($('.la-largeur').css('width')) / parseFloat($('.la-largeur').parent().css('width')) ) + '%';
$(".montrer-largeur").html(width);

但是我的问题是如果元素的宽度是基于百分比的形式我不想要检索像素,并且我不想检索元素宽度的百分比是以像素为单位/ em / etc:form

有没有人知道在JQuery中是否有办法做到这一点?

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

我没有内置的方式,我很害怕。你可以这样做:

var width = ( 100 * parseFloat($('.la-largeur').css('width')) / parseFloat($('.la-largeur').parent().css('width')) ) + '%';

此处的工作示例http://jsbin.com/mamenagu/2/