正如主题所示,如何使用 jQuery 获取元素的总宽度(包括其边框和填充)?我已经有了 jQuery 尺寸插件,并且正在运行.width()
on my 760px-wide
, 10px padding
DIV 回报760
.
也许我做错了什么,但如果我的元素表现为780 pixels wide
Firebug 告诉我有10px padding
就可以了,但是打电话.width()
只给了760,我很难看出如何。
感谢您的任何建议。
[Update]
最初的答案是在 jQuery 1.3 之前编写的,当时存在的函数本身不足以计算整个宽度。
Now, as J-P https://stackoverflow.com/questions/349705/total-width-of-element-including-padding-and-border-in-jquery/673622#673622正确地说,jQuery 具有以下功能外宽 http://docs.jquery.com/CSS/outerWidth and 外部高度 http://docs.jquery.com/CSS/outerHeight其中包括border
and padding
默认情况下,还有margin
如果函数的第一个参数是true
[原答案]
The width
方法不再需要dimensions
插件,因为它已添加到jQuery Core
您需要做的是获取该特定 div 的内边距、边距和边框宽度值,并将它们添加到width
method
像这样的事情:
var theDiv = $("#theDiv");
var totalWidth = theDiv.width();
totalWidth += parseInt(theDiv.css("padding-left"), 10) + parseInt(theDiv.css("padding-right"), 10); //Total Padding Width
totalWidth += parseInt(theDiv.css("margin-left"), 10) + parseInt(theDiv.css("margin-right"), 10); //Total Margin Width
totalWidth += parseInt(theDiv.css("borderLeftWidth"), 10) + parseInt(theDiv.css("borderRightWidth"), 10); //Total Border Width
分成多行以使其更具可读性
这样,即使您更改 css 中的填充或边距值,您也将始终获得正确的计算值
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)