Ответ 1
Одна из основных достоинств jQuery заключается в том, что она настолько подключаема, поэтому, если у вас есть потребность, которая не сразу удовлетворена библиотекой, там огромный ландшафт плагинов для поиска. И если нет никого, что бы делало то, что вы хотите, это действительно легко свернуть. Я думаю, что правильный путь сюда, если вы не можете найти плагин, который делает то, что вы хотите, является последним: написать свой собственный.
Тем не менее, убедитесь, что вы сами поняли спецификации своего плагина. Что он должен вернуть, если элемент не имеет настройки css для заполнения? Должен ли он вернуть стиль этого элемента или вычисленный стиль? Что происходит с недопустимым css (например, "padding-top: 10 unitsThatDontExist;" или "padding-left: two;" )?
В начните - вот что может сделать ваш собственный плагин в вашем коде:
var topPadding = $('#anElement').padding('top');
Чтобы сделать это доступным, просто напишите плагин следующим образом:
$.fn.padding(direction) {
// calculate the values you need, using a switch statement
// or some other clever solution you figure out
// this now contains a wrapped set with the element you apply the
// function on, and direction should be one of the four strings 'top',
// 'right', 'left' or 'bottom'
// That means you could probably do something like (pseudo code):
var intPart = this.css('padding-' + direction).getIntegerPart();
var unit = this.css('padding-' + direction).getUnit();
switch (unit)
{
case 'px':
return intPart;
case 'em':
return ConvertEmToPx(intPart)
default:
// Do whatever you feel good about as default action
// Just make sure you return a value on each code path
}
};