如何确定宽度是否有px或%

如何判断宽度为ex: width:100%的css属性是否分配了px或%。 例如,如果我有width:250px; 我做$('div').width()我得到250而如果我使用百分比,我只是根据我的屏幕分辨率得到px的宽度百分比。

这应该工作。

 var value = $('#id').get(0).style.width; var hasPx = value.indexOf('px') >= 0; var hasPct = value.indexOf('%') >= 0; 

JSBin: http : //jsbin.com/asewit/2/edit#javascript,html

如果“css property”是指css规则,而不是直接在元素中设置的内联样式属性,则没有快速的方法来获取它。 你必须:

  1. 查询所有css规则声明

  2. 遍历每个css规则并检查元素是否与规则匹配并将其推入数组

  3. 循环通过候选者并使用!important获取最新的宽度值或最新的宽度值

如果你的意思是内联风格,它是如此微不足道,很难理解为什么这个问题得到了如此多的赞成:

element.style.width并检查是否存在px或%

编辑:这里是css规则查询的不完整演示:

http://jsfiddle.net/Chjnd/1/

在谷歌浏览器和Firefox中测试过

您可以使用.style.cssText ,其中包含实际的CSS代码:

 $("
").get(0).style.cssText // "width: 50px; " $("
").get(0).style.cssText // "width: 50%; "