使用Internet Exporer的jquery height()

时间:2018-01-02 20:21:16

标签: jquery internet-explorer html-table height microsoft-edge

我在使用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重现它。

1 个答案:

答案 0 :(得分:0)

我相信这是一个已知的错误(显然)没有修复。

请参阅:https://github.com/adaptlearning/jquery.resize/issues/7