8

我认为这可能是以前版本的 jquery 中的默认值,但是当我调用.css("height")and时.height(),它返回计算出的高度,这不是我想要的——如果它在 CSS 文件中明确声明,我只想要一个高度值对于那个元素。

就像它没有在任何地方声明一样,也许它'auto'有时会像 top 和 left 一样返回......

例如,我的 CSS 如下所示:

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

.css("margin-left")return "5px", while即使没有特别设置也会返回....css("height")20

谢谢

4

3 回答 3

0

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

例如,您可以在 Chrome 开发人员工具 (F12) 的“计算样式”选项卡中看到它们

和文档:

jQuery.width()

获取匹配元素集中第一个元素的当前计算宽度或设置每个匹配元素的宽度。

.css(width) 和 .width() 的区别在于后者返回一个没有单位的像素值(例如,400),而前者返回一个没有单位的值(例如,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;
}
于 2013-04-21T00:20:00.933 回答
0

您所要做的就是为id元素提供一个,然后尝试以下代码:

if (document.getElementById("element").style.height == null || document.getElementById("element").style.height == "") {
  alert("no height");
}else{
  alert(document.getElementById("element").style.height);
}
.element {
  width: 100%;
  color: red;
  word-break: break-all;
}
<div id="element" class="element">
  Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis,
  sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras dapibus. Vivamus
  elementum semper nisi. Aenean vulputate eleifend tellus. Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac, enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a, tellus. Phasellus viverra nulla ut metus varius laoreet. Quisque rutrum.
  Aenean imperdiet. Etiam ultricies nisi vel augue. Curabitur ullamcorper ultricies nisi. Nam eget dui. Etiam rhoncus. Maecenas tempus, tellus eget condimentum rhoncus, sem quam semper libero, sit amet adipiscing sem neque sed ipsum. Nam quam nunc, blandit
  vel, luctus pulvinar, hendrerit id, lorem. Maecenas nec odio et ante tincidunt tempus. Donec vitae sapien ut libero venenatis faucibus. Nullam quis ante. Etiam sit amet orci eget eros faucibus tincidunt. Duis leo. Sed fringilla mauris sit amet nibh.
  Donec sodales sagittis magna. Sed consequat, leo eget bibendum sodales, augue velit cursus nunc,
</div>

于 2018-07-11T08:23:24.803 回答
0

您也可以使用类名在 JavaScript 中执行此操作。例如:

alert(document.getElementsByClassName("YourClassName")[0].style.height)

它将提醒高度的实际值,而不是返回计算的高度。

于 2020-09-09T05:56:50.983 回答