jQuery – css()在firefox中无法正常工作

我使用.css()从元素中获取样式。 但是在Firefox中.css()没有从元素获得marginpadding值。

请看小提琴: http : //jsfiddle.net/howtoplease/fMTsW/

这是我的jquery代码:

 $(document).ready(function(){ $('input').each(function(){ this.value = $('h3').css(this.name); }); }); 

我的HTML代码

 

I am heading 3

CSS标签’margin&padding’实际上是四个单独的边距/填充值(上/左/下/右)的简写。 使用css(’marginTop’)等 – 请注意,如果您已经指定了它们,它们将在末尾有’px’。

在结果周围使用parseInt()将其转换为数字值。

   

要么

   

这会给你价值。 使用此技术,您可以获得边距和填充的值。

这种情况正在发生,因为像marginpadding这样的属性是短手属性,而jQuery无法为您提供这些值,您使用了独立的值,例如margin-topmargin-right

此外,应使用marginTop访问具有多个单词(如margin-top属性,即第二个单词的第一个字母应为大写

对于一整套值:

       

在您的小提琴代码中,我尝试更改HTML。

   

   

并且值正确地在输入值字段中设置。 这是因为css中的margin是一个关键字,它将margin-right,margin-left,margin-top,margin-bottom等属性值设置为一个值,但它本身不是一个属性。