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

use*_*007 5 jquery

.css()用来从元素中获取样式.但在Firefox .css()中没有得到的价值margin,并padding从元素.

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

这是我的jquery代码:

$(document).ready(function(){
    $('input').each(function(){
        this.value = $('h3').css(this.name);
    });
});
Run Code Online (Sandbox Code Playgroud)

我的HTML代码

<h3 style="margin:20px;padding:20px;font-size:30px;font-family:'open sans';">
    I am heading 3
</h3>

<input name="margin" />
<input name="padding" />
<input name="font-size" />
<input name="font-family" />
Run Code Online (Sandbox Code Playgroud)

Zah*_*iaz 9

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

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

<input name="margin-top" />
<input name="padding-top" />
Run Code Online (Sandbox Code Playgroud)

要么

<input name="marginTop" />
<input name="paddingTop" />
Run Code Online (Sandbox Code Playgroud)

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


Sta*_*arx 5

这是因为属性marginpadding短手属性和jQuery不能给你这些值你使用独立的值,如margin-topmargin-right.

此外,margin-top应该使用多个单词的属性,marginTop第二个单词的第一个字母应该是大写.

对于一整套值:

<input name="marginTop" />
<input name="marginRight" />
<input name="paddingTop" />
<input name="paddingRight" />
<input name="fontSize" />
<input name="fontFamily" />
Run Code Online (Sandbox Code Playgroud)