Я недавно также столкнулся с этой проблемой, и я действительно не хотел делать «лишнюю» работу, которая определяла ширину родительского элемента и вычисляла процент.
После нескольких быстрых попыток вот что я получил:
$($($(table).find('tr')[0]).find('td')).each(function (i, e) {
var proptW = $(e).prop("style").width;
console.log(proptW);
});
Итак, я думаю, что это самый близкий способ использовать jQuery для получения значения ширины элемента на основе того, что разработчик указал в CSS.
Как видите, у меня есть таблица, и мне нужно получить ширину для каждого из столбцов.
Мы не можем получить указанное разработчиком значение (DSV) напрямую с помощью метода jQuery, но после объединения со встроенным методом JavaScript, это только один шаг от получения DSV.
Поскольку DSV находится в Style , а Style является свойством элемента, поэтому мы можем использовать метод jQuery: prop () для его получения. Этот метод возвращает объект стиля (скажем, sty), так что мы можем вызвать sty.width для непосредственного получения DSV.
Это не чистый способ получить jQuery, но он достаточно прост и работает для меня.
Надеюсь, это поможет.
Приветствия