尝试在单击链接时隐藏移动导航时遇到此错误。这似乎是一个非常简单的问题,我已经研究了一些类似的问题,但是似乎无法弄清楚。

我的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';
}


但是控制台给我“无法读取null的属性样式”错误。我不确定nav如何为空。

最佳答案

您的代码应为

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


您必须将字符串传递给例程。您的代码不会导致错误,因为该变量是在函数中声明的,但是它没有任何价值。

10-06 04:43