jQuery有height() en width()函数,返回高度或宽度像素为整数…

我怎么能得到一个填充或边缘值的元素像素和整数使用jQuery?

我的第一个想法是:

var padding = parseInt(jQuery("myId").css("padding-top"));

但是,如果填充以ems为例,我如何才能得到以像素为单位的值?


查看由Chris Pebble建议的JSizes插件,我意识到我自己的版本是正确的:)。jQuery总是以像素为单位返回值,因此只需将其解析为整数就是解决方案。

感谢Chris Pebble和Ian Robinson


当前回答

不要使用字符串。替换(“px”、" "));

使用parseInt或parseFloat!

其他回答

你应该能够使用CSS (http://docs.jquery.com/CSS/css#name)。你可能需要更具体一些,比如"padding-left"或"margin-top"。

例子:

CSS

a, a:link, a:hover, a:visited, a:active {color:black;margin-top:10px;text-decoration: none;}

JS

$("a").css("margin-top");

结果是10px。

如果您想获取整数值,可以执行以下操作:

parseInt($("a").css("margin-top"))

好,我来回答刚才的问题

你可以像这样得到一个可用的整数:

瓦尔帕丁= parseInt美元(css myId”)。(“padding-top ems)。replace(“”、“”);

如果你定义了另一个测量值,如px,只需将“ems”替换为“px”。 parseInt将stringpart解释为错误的值,因此重要的是将其替换为…什么都没有。

不要使用字符串。替换(“px”、" "));

使用parseInt或parseFloat!

你可以像使用任何CSS属性一样抓取它们:

alert($("#mybox").css("padding-right"));
alert($("#mybox").css("margin-bottom"));

你可以用css方法中的第二个属性来设置它们:

$("#mybox").css("padding-right", "20px");

编辑:如果你只需要像素值,使用parseInt(val, 10):

parseInt($("#mybox").css("padding-right", "20px"), 10);

我可能使用github.com/bramstein/jsizes jquery插件填充和边缘在非常舒适的方式,谢谢…