Мне не понравилось ни одно из этих решений. Проверка фактической таблицы стилей является решением. Другое решение, которое я придумала, - сохранить левые / правые значения, временно изменить левое значение и посмотреть, совпадает ли правое значение. Если нет, то он установлен на авто.
var mLeft = el.css('margin-left');
var mRight = el.css('margin-Right');
el.css('margin-left',(parseInt(mLeft)-2)+'px');
var mRightChanged = el.css('margin-Right');
if (mRight != mRightChanged) {
console.log('read element left/right margins as auto');
el.css('margin-left','auto');
} else {
console.log('read element left/right margins as their value');
el.css('margin-left',mLeft);
}
Обратите внимание, это решение только для левого / правого поля.