首页 > 解决方案 > 附加显示后找不到 Div:无

问题描述

在 onLoad 函数中,我设置了几个 div 元素,并将 CSS 属性 display none 分配为“不可见”:

function hideContent() {
    laElements = document.getElementById("content").children;
    for (var i = 0; i < laElements.length; i++) {
        laElements[i].classList.add("hidden");
    }
}
.hidden {
  display: none;
}

稍后我想将其中一个设置为可见(通过删除 CSS 类),但我遇到的问题<div>是无法通过“getElementbyId”找到。相反,当我调用删除函数时,我得到了错误

TypeError:无法读取未定义的属性“classList”。

当我访问覆盖<div>元素时,不再列出任何子元素。似乎属性“display:none”使元素从DOM中完全消失。

谁能告诉我我到底做错了什么或如何解决这个问题?如果可能的话,我更喜欢没有 jQuery 的解决方案。

标签: javascripthtmlcssdom

解决方案


我认为你有 div 的类而不是 id 所以在 javascript 中你必须编写getElementByClass().


推荐阅读