Одной из основных сильных сторон 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
}
};