使用Jquery返回CSS高度,未计算,但已声明

前端之家收集整理的这篇文章主要介绍了使用Jquery返回CSS高度,未计算,但已声明前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我认为这可能是以前版本的 jquery中的默认值,但是当我调用.css(“height”)和.height()时,它会返回计算出的高度,这不是我想要的 – 我只想要一个如果在该文件的CSS文件中专门声明了高度值.

就像它没有被宣布在任何地方一样,也许它可以返回’auto’,就像它有时为顶部和左边…

例如,我的CSS看起来像这样:

.element{
    margin-left:5px;
    color:red;
}

.css(“margin-left”)返回“5px”,而.css(“height”)返回20,即使它没有专门设置…

谢谢

解决方法

浏览器自动计算CSS高度和宽度.

例如,您可以在Chrome开发者工具(F12)的“计算样式”标签中看到它们

和文档:

jQuery.width()

Get the current computed width for the first element in the set of
matched elements or set the width of every matched element.

The difference between .css(width) and .width() is that the latter
returns a unit-less pixel value (for example,400) while the former
returns a value with units intact (for example,400px)

但是如果你想获得正确的CSS值,我可以建议不要使用jQuery

如果我们有HTML:

<div id="elem" style="height: auto"></div>

我们可以写JS:

$('#elem').get(0).style.height    // "auto"

如果我们有HTML:

<div id="elem"></div>

JS:

$('#elem').get(0).style.height    // ""

通用功能

var height = function(elem){
      return $(elem).get(0).style.height === "" ? $(elem).height() : $(elem).get(0).style.height;
}

猜你在找的jQuery相关文章