jQuery css(’padding’) – Firefox问题

当你尝试获取元素的padding时,似乎Firefox(至少v19.0.2)有jQuery css()函数的问题。

我使用.css('padding-left')时没有问题,但写一行而不是4行会很好,尤其是像这样的简单特征。

以下是显示我的问题的示例,请比较Chrome / Firefox行为:

 $('#log').append( 'padding : '+ $('#sample').css('padding')+'\n'+ 'padding-top : '+ $('#sample').css('padding-top')+'\n'+ 'padding-bottom : '+ $('#sample').css('padding-bottom')+'\n'+ 'padding-left : '+ $('#sample').css('padding-left')+'\n'+ 'padding-right : '+ $('#sample').css('padding-right')+'\n' ); 
 #sample { border: 1px solid black; padding: 8px; margin: 10px; } #log { padding: 8px; margin: 10px; } 
  
Lorem ipsum

我错过了什么吗? 或者是否有一种解决方法来检索元素的padding而不调用4个函数?

谢谢。

请参阅错误#13421 (虽然这实际上不是一个错误)。

css()的文档说:

不支持速记CSS属性(例如marginbackgroundborder )。 例如,如果要检索渲染边距,请使用: $(elem).css('marginTop')$(elem).css('marginRight') ,依此类推。

padding是这样的属性,所以你确实必须使用paddingLeftpaddingRight等。