一、若是在樣式文件或頁面文件代碼中直接用display:none對元素進行了隱藏,載入頁面後,在沒有經過js設置樣式使元素顯示的前提下,使用js代碼會沒法正確得到該元素的一些屬性,好比offSetTop,offSetLeft等,返回的值會爲0,經過js設置style.display來使元素顯示後才能正確得到這些值。 javascript
二、使用display:none隱藏的元素不會被百度等搜索網站檢索,會影響到網站的SEO,某些狀況下能夠使用left:-100000px來達到一樣效果。 css
三、若是是經過樣式文件或<style>css</style>方式來設置元素的display:none樣式,用js設置style.display=""並不能使元素顯示,能夠使用block或inline等值來代替。經過style="display:none"直接在元素上進行的設置不會有這個問題 html
四、有些狀況下能夠使用style.visibility來代替style.display,可是要注意的是style.visibility隱藏元素時會保留元素在頁面上所佔的空間,而style.display隱藏元素且讓出所佔頁面空間。 java
5.當input 設爲display:none時,jq 對其操做設置其value值是沒有效果的
jquery
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1.0, maximum-scale=1.0"/> <script type="text/javascript" src="./js/jquery-1.12.1.min.js"></script> <link rel="stylesheet" href="./css/bootstrap.css"> <script type="text/javascript" src="./js/bootstrap.js"></script> <script> $(function(){ $("body").click(function(event) { /* Act on the event */ $("#cs").val("text") }); }) </script> <title>Document</title> </head> <body style="height:100px"> <input type="text" id="cs" style="display:none" value="123"> </body> </html>