我的身体里面有一个风格元素。由于我正在根据之前元素的高度做一些复杂的计算,我遇到了这个问题。以下是一些示例代码:
HTML
<style type="text/css" scoped>
body {
background-color: rebeccapurple;
}
.log {
color: white;
}
</style>
<div class="log"></div>
的Javascript
var $log = $(".log"),
$style = $("body > style");
$log.append("$.height: " + $style.height() + "<br/>");
$log.append("clientHeight: " + $style[0].clientHeight + "<br/>");
$log.append("offsetHeight: " + $style[0].offsetHeight + "<br/>");
$log.append("scrollHeight: " + $style[0].scrollHeight + "<br/>");
输出
$.height: 18
clientHeight: 0
offsetHeight: 0
scrollHeight: 0
如您所见,jQuery返回了style元素的高度。这只是一个jQuery错误还是它是故意的,我只是错过了一些东西?我调试了jQuery高度函数,并看到它们将display: block
应用于样式元素,这使得div具有高度。
的jsfiddle: https://jsfiddle.net/j3dxy4qu/
它对我没有任何意义,并且在没有一点解决方法的情况下销毁我的代码。