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属性(例如
margin
,background
,border
)。 例如,如果要检索渲染边距,请使用:$(elem).css('marginTop')
和$(elem).css('marginRight')
,依此类推。
padding
是这样的属性,所以你确实必须使用paddingLeft
, paddingRight
等。