設定display:none無法獲取元素的尺寸
本章節介紹一下標題中設計的相關內容,希望能夠給需要的朋友帶來一定的幫助。
其實關於這個主題的文章在網路上已經很多,之所以再來重複一下,是因為很多文章並沒有說清楚無法獲取什麼樣的尺寸。
先來看一段程式碼例項:
[HTML] 純文字檢視 複製程式碼<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style> #box{ height:100px; background:#CCC; display:none; } </style> <script type="text/javascript"> window.onload=function(){ var obox=document.getElementById("box"); var odiv=document.getElementById("show"); odiv.innerHTML=obox.style.width; } </script> </head> <body> <div id="box" style="width:200px;">softwhy.com</div> <div id="show"></div> </body> </html>
上面的程式碼中,雖然div設定為隱藏,但是依然可以獲取它的寬度,可能很多人看到這裡疑惑了,不是說好了設定隱藏的元素無法獲取它的尺寸的嗎。下面再來看一段程式碼例項:
[HTML] 純文字檢視 複製程式碼<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style> #box{ height:100px; background:#CCC; display:none; } </style> <script type="text/javascript"> window.onload=function(){ var obox=document.getElementById("box"); var odiv=document.getElementById("show"); odiv.innerHTML=obox.offsetWidth; } </script> </head> <body> <div id="box" style="width:200px;">螞蟻部落</div> <div id="show"></div> </body> </html>
上面的程式碼的結果確實是顯示0,這就奇怪了為什麼這裡無法獲取尺寸呢,下面就做一下分析。像offsetWidth、offsetHeight、clientWidth或者clientHeight這樣的屬性獲取的是瀏覽器解析後的元素尺寸值,元素隱藏了,自然沒有解析,所以獲得的值是0,而第一種方式並不是獲取的元素尺寸值,而是獲取的對元素的css樣式設定中的寬高值,這個和解析後的尺寸是兩個概念。
相關文章
- jQuery無法獲取隱藏元素(display:none)寬度(width)和高度(height)的新解決方案jQueryNone
- jQuery動態設定div元素的尺寸jQuery
- Jquery如何獲取和設定元素內容?jQuery
- 設定和獲取元素固有屬性值
- JavaScript獲取瀏覽器、元素、螢幕的寬高尺寸JavaScript瀏覽器
- appium 自動化測試,無法獲取具體元素APP
- display:none和visibility:hidden的區別None
- display: none與visibility: hidden的區別None
- CSS max-width/min-width設定元素尺寸CSS
- JavaScript獲取img的原始尺寸JavaScript
- flutter 總結: 通過 GlobalKey 獲取介面任意元素座標尺寸Flutter
- CSS display:none和visible:hidden區別CSSNone
- 說說display:none和visibility:hidden的區別None
- CSS 技巧篇(六):display設定元素為行內元素時,元素之間存在間隙問題CSS
- Appium 在 Android10 系統無法獲取應用 webview 頁面元素APPAndroidWebView
- CSS魔法堂:display:none與visibility:hidden的恩怨情仇CSSNone
- 關於 flask_session 在登入時設定後,再其他介面獲取時為None的問題FlaskSessionNone
- victoriaMetrics無法獲取抓取target的問題
- swift 獲取通知設定Swift
- 設定連結<a>的尺寸
- arm-none-eabi-gdb無法執行None
- JS 獲取文件元素JS
- cookie的設定、獲取和刪除Cookie
- dataTransfer.getData()無法獲取資料
- Python - opencv-python 獲取影片尺寸PythonOpenCV
- go 程式碼倉被設定為私倉了,無法go get -u 獲取最新的倉程式碼Go
- 如何設定列印尺寸?
- 新增display:none;導致盒子被擠下去的解決方法None
- Appium Android 獲取WebView元素的方法APPAndroidWebView
- Revit獲取元素的巢狀族巢狀
- JavaScript獲取父元素下子元素節點JavaScript
- 登入介面的檢視設定了 “安全” 標誌後,如何獲取介面元素
- jquery獲取元素節點jQuery
- dom元素操作獲取等
- iOS WebView UserAgent 獲取和設定iOSWebView
- 獲取和設定pdf目錄
- 使用 jQuery 選擇器獲取頁面元素,然後利用 jQuery 物件的 css() 方法設定其 display 樣式屬性,從而實現顯示和隱藏效果。jQuery物件CSS
- 獲取的 Cookie 為什麼無法用於爬蟲Cookie爬蟲
- JS基礎_獲取元素的樣式JS