以像素为单位获取元素高度的正确方法(使用所有浏览器?)

时间:2013-12-06 22:31:17

标签: javascript jquery html css html5

考虑到当前市场上仍然可用的所有当前和一些旧浏览器(例如IE6 +),包括移动设备浏览器,可以安全使用

$(e).height() + 'px'

$(e).css('height'))

获取元素height的{​​{1}}(以像素为单位)?以上两种方法是否相同,或者我更愿意使用其中一种?返回的大小总是以像素为单位,或者声称不安全吗?

2 个答案:

答案 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()方法   用于数学计算。

这里描述: http://api.jquery.com/height/