Подтвердить что ты не робот

JQuery css ('padding') - Проблема с Firefox

Кажется, Firefox (по крайней мере, v19.0.2) имеет проблему с jQuery css(), когда вы пытаетесь получить элемент padding.

У меня нет проблемы, когда я использую .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;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<div id="sample">Lorem ipsum</div>
<textarea id="log" rows="10" cols="50"></textarea>
4b9b3361

Ответ 1

См. ошибка # 13421 (хотя на самом деле это не ошибка).

Документация для css() говорит:

Сокращенные свойства CSS (например, margin, background, border) не являются поддерживается. Например, если вы хотите получить рендер, используйте: $(elem).css('marginTop') и $(elem).css('marginRight'), и так на.

padding является таким свойством, поэтому вам действительно придется использовать paddingLeft, paddingRight и т.д.