我认为这可能是以前版本的jquery中的默认值,但是当我调用.css("height")
和.height()
时,它会返回计算出的高度,这不是我想要的 - 我只是如果在该文件的CSS文件中明确声明了高度值,则需要高度值。
如果它没有在任何地方声明,也许它可能会像往返顶部和左边那样返回'auto'
......
例如,我的CSS看起来像这样:
.element{
margin-left:5px;
color:red;
}
.css("margin-left")
会返回"5px"
,而.css("height")
会返回20
,即使它没有专门设置......
由于
答案 0 :(得分:0)
浏览器自动计算CSS高度和宽度。
例如,您可以在Chrome开发者工具(F12)的“计算样式”标签中看到它们
和文档:
获取集合中第一个元素的当前计算宽度 匹配元素或设置每个匹配元素的宽度。
.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;
}
答案 1 :(得分: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>
答案 2 :(得分:0)
您也可以使用类名称在JavaScript中完成此操作。 例如:
alert(document.getElementsByClassName("YourClassName")[0].style.height)
它将警告高度的实际值,而不是返回计算出的高度。