js如何獲取隱藏的元素的高度


首先,正常情況下,確保div是有高度的。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <script src="jquery-3.1.0.min.js" type="text/javascript"></script>
</head>
<body>
    <div id="div">
        <div id="divsub">
            子div內容,需要獲取我的高度
        </div>
    </div>
</body>
<script type="text/javascript">
    console.log($("#div").height())  //21
    console.log($("#divsub").height()) //21
</script>
</html>

當我們在id為div的元素上加了  style="display:none;" 之后,重新運行代碼,結果如下:

可以看到,父div能正常獲取值,而子div已經獲取不到高度了。

當我們把 style="display:none;" 改成 style="visibility: hidden;" 后,仍能夠正常獲取。但是div的位置還在。

 

於是,就有了下面的解決方案,使用visibility隱藏,然后把div移到屏幕之外看不見的地方就可以了。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <script src="jquery-3.1.0.min.js" type="text/javascript"></script>
</head>
<body>
    <div id="div" style="visibility:hidden; position: absolute;top:-9999px;left:-9999px;">
        <div id="divsub">
            子div內容,需要獲取我的高度
        </div>
    </div>
</body>
<script type="text/javascript">
    console.log($("#div").height())  
    console.log($("#divsub").height())
</script>
</html>

參考資料:http://www.cnblogs.com/cythia/p/5981306.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM