document.getElementById返回[object HTMLDivElement]

时间:2017-06-09 18:18:24

标签: javascript html css

我正在尝试开发一些脚本来切换链接到我的HTML文档的css的display属性。这是为了显示/隐藏文档中的导航栏。但是当我运行此脚本时,控制台会为[object HTMLDivElement]显示document.getElementById,这实在令人困惑。

我认为这不是什么大问题,但我的头现在有点阴天......

        function navbarCollapse() {
        var navbarCollapsable = document.getElementById('nav-collapsable');

        var navbarCollapsableVisibility = navbarCollapsable.style.display;
        var invisible = "none";

        if (navbarCollapsableVisibility !== invisible) {
            navbarCollapsableVisibility = invisible;
        } else {
            navbarCollapsableVisibility = "block";
        };
    }

2 个答案:

答案 0 :(得分:3)

这应该归还。有关document.getElementById:https://developer.mozilla.org/en-US/docs/Web/API/Document/getElementById

,请参阅MDN的文档
  

返回值

     

元素

     

是对Element对象的引用,如果是带有的元素,则为null   指定的ID不在文档中。

答案 1 :(得分:1)

刚刚解决了。正如@AronF指出的那样,[object HTMLDivElement]是我应该看到的。问题是我不应该因为某种原因将navbarCollapsable.style.display存储在var中。这样做并通过了:

function navbarCollapse() {
        var navbarCollapsable = document.getElementById('nav-collapsable');

        if (navbarCollapsable.style.display !== "none") {
            navbarCollapsable.style.display = "none";
        } else {
            navbarCollapsable.style.display = "block";
        };
    }