jquery - 如何使用更少的代码使用填充/边距值计算元素的宽度和高度?

标签 jquery css height width

我正在使用 height()/width()方法,但它的返回值没有它的填充和边距值。我在计算总数/高度值时没有问题。

这种方式可行,但我的问题是;计算所有这些太长了。有没有一种方法可以用更少的代码来计算这些而没有错误?

Here is jsFiddle example.

jQuery:

var ele = $('div');

var eleW = ele.width();
var eleH = ele.height();

alert(eleW);//returning 200
alert(eleH);//returning 100

var eleMR = parseInt(ele.css('margin-right'));
var eleML = parseInt(ele.css('margin-left'));
var eleMT = parseInt(ele.css('margin-top'));
var eleMB = parseInt(ele.css('margin-bottom'));

var elePR = parseInt(ele.css('padding-right'));
var elePL = parseInt(ele.css('padding-left'));
var elePT = parseInt(ele.css('padding-top'));
var elePB = parseInt(ele.css('padding-bottom'));

var eleTotalWidth = eleMR + eleML + elePR + elePL + eleW;
var eleTotalHeight = eleMT + eleMB + elePT + elePB + eleW;

alert(eleTotalWidth);//returning 147
alert(eleTotalHeight);//returning 122

CSS:

div {
       float:left; width:100px; height:200px; background-color:#000;
       margin:5px 3px 2px 4px; padding:10px 20px 5px;
     }​

最佳答案

使用outerWidth();outerHeight();

var ele = $('div');

var eleW = ele.outerWidth(true);
var eleH = ele.outerHeight(true);

关于jquery - 如何使用更少的代码使用填充/边距值计算元素的宽度和高度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11665657/

相关文章:

css - 如何解决 ExtJS 3 和 Twitter Bootstrap 之间的 CSS 冲突?

jquery - 固定高度为 100% 的 Div

html - 如何使部分英雄(带图像 slider )始终适合浏览器高度?

javascript - Bootstrap 卡列砌体效果 - 更改高度卡会跳动

javascript - @Html.Raw 生成的 javascript 无法正常工作

javascript - 如何从某些对象中过滤 json 对象。 (仅选择部分值)

jquery - 使用 jquery 将空行插入到表中

css - 高度和宽度不适用于跨度吗?

CSS:无需js即可自动确定网格中翻转卡的高度

javascript - Jquery Mobile 阻止 $(window).scroll 事件触发