我在使用Internet Exporer 11 / Edge中的td elelement获取正确高度(使用带有jquery 3的.height())时遇到问题。
$('#h1').text($('#cell').height());
$('#h2').text($('#cell').outerHeight());
$('#h3').text($('#cell')[0].clientHeight);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<table>
<tr>
<td id="cell" style="height: 100px; border: 1px solid red;">
foo
</td>
</tr>
</table>
<hr>
<pre>
$('#cell').height(): <span id="h1"></span>
$('#cell').outerHeight(): <span id="h2"></span>
$('#cell')[0].clientHeight: <span id="h3"></span>
</pre>
chome中的输出正如我所料:
$('#cell').height(): 100
$('#cell').outerHeight(): 104
$('#cell')[0].clientHeight: 102
但在IE中,我得到了:
$('#cell').height(): 18.4
$('#cell').outerHeight(): 22.4
$('#cell')[0].clientHeight: 98
当然有一些解决方法,但我想了解这里发生了什么。这些数字的概念是什么以及在哪种情况下.height()会返回这些数字? Jquery 1.x和2.x将我的预期结果作为3.x的chrome。到目前为止,我只能使用td-elements重现它。
答案 0 :(得分:0)
我相信这是一个已知的错误(显然)没有修复。