考虑到当前市场上仍然可用的所有当前和一些旧浏览器(例如IE6 +),包括移动设备浏览器,可以安全使用
$(e).height() + 'px'
或
$(e).css('height'))
获取元素height
的{{1}}(以像素为单位)?以上两种方法是否相同,或者我更愿意使用其中一种?返回的大小总是以像素为单位,或者声称不安全吗?
答案 0 :(得分:3)
来自http://api.jquery.com/height/
.css(“height”)和.height()之间的区别在于后者返回无单位像素值(例如,400),而前者返回单位完整的值(例如,400px) 。当需要在数学计算中使用元素的高度时,建议使用.height()方法。
然后,
请注意,无论CSS box-sizing属性的值如何,.height()将始终返回内容高度。从jQuery 1.8开始,这可能需要检索CSS高度加上box-sizing属性,然后在元素具有box-sizing:border-box时减去每个元素上的任何潜在边框和填充。为避免这种惩罚,请使用.css(“height”)而不是.height()。
因此,证据是矛盾的 - 看起来像对特定用例的评估是有序的。
答案 1 :(得分:1)
.css(“height”)和.height()之间的区别在于 后者返回无单位像素值(例如,400) 前者返回单位完整的值(例如,400px)。该 当元素的高度需要时,建议使用.height()方法 用于数学计算。