2015-02-09 137 views
0

我在點擊鏈接時試圖隱藏移動導航欄時遇到此錯誤。這似乎是一個非常簡單的問題,我也瀏覽了一些類似的問題,但我似乎無法弄清楚。無法讀取空屬性樣式

我的HTML

<div id=mobilenav class=mobilenav onclick="HideNav();"> 
    <nav id=nav> 
    </nav> 
</div> 

mobilenav是隱藏在默認情況下,當屏幕縮小我表現出來。

的CSS

.mobilenav { 
    display:none 
} 

@media screen and (max-width: 900px) { 
    .mobilenav { 
     display: block; 
    } 
} 

mobilenav一個鏈接被點擊運行此JavaScript函數:

function HideNav() { 

    var nav = document.getElementById(nav); 

    nav.style.display='none'; 
} 

但控制檯是給我的「無法讀取空的財產風格」的錯誤。我不知道nav爲空。

+0

儘管我現在才意識到反正無法使用,因爲chid元素將會隱藏起來...... – 123 2015-02-09 01:05:41

回答

3

你的代碼應該是

var nav = document.getElementById("nav"); 

你有一個傳遞給程序。你的代碼不會導致錯誤,因爲變量是在你的函數中聲明的,但它沒有任何價值。

2

是的,尖尖的答案是正確的。 它爲我工作。

<div id="mobilenav" class="mobilenav" onclick="HideNav();"> 
<nav id="nav"> 
    Iam inside the nav id. 
</nav> 
    Iam outside the nav id. 
</div> 

<style type="text/css"> 
.mobilenav { 
display:none; /* Hides the Content */ 
} 

@media screen and (max-width: 900px) { 
.mobilenav { 
    display: block; /* Displays the content */ 
    } 
} 
</style> 
<script type="text/javascript"> 
    function HideNav() { 
    var nav = document.getElementById("nav"); 
     nav.style.display='none'; 
    } 
</script>