Javascript classList 添加隐藏不起作用

标签 javascript html

下面是通过 DOM 获取一些元素的代码片段。我只是附加一个简单的 onclick,它应该将“隐藏”属性添加到每个检索到的元素的 classList 中。

HTML:

<body>
        <h1 id="view-one-header">Exploring View 1</h1>
        <img id ="dragonite" src="https://cdn.bulbagarden.net/upload/8/8b/149Dragonite.png" alt="Dragonite">
        <button id="toggle-view-two-btn">Toggle View 2</button>
</body>

Javascript:

window.onload = pageLoad;

function pageLoad() {
    let viewOneHeader = document.getElementById("view-one-header");
    let dragoniteImg = document.getElementById("dragonite");
    let toggleViewTwoBtn = document.getElementById("toggle-view-two-btn");
    toggleViewTwoBtn.onclick = changeToViewTwo;

    function changeToViewTwo() {
        viewOneHeader.classList.add("hidden");
        dragoniteImg.classList.add("hidden");
   }

我正在尝试调试此脚本,因为单击按钮时,相应的 View 不会消失。已经有一段时间了,我无法弄清楚这个问题。任何帮助将不胜感激。

最佳答案

这里我为“隐藏”类添加了一些CSS。当您单击 id 为“toggle-view-two-btn”的元素时,就会添加类。

let viewOneHeader = document.getElementById("view-one-header");
let dragoniteImg = document.getElementById("dragonite");
let toggleViewTwoBtn = document.getElementById("toggle-view-two-btn");
toggleViewTwoBtn.onclick = changeToViewTwo;

function changeToViewTwo() {
    viewOneHeader.classList.add("hidden");
    dragoniteImg.classList.add("hidden");
}
.hidden {
    display: none;
}
<div id="view-one-header">view-one-header</div>
<div id="dragonite">dragonite</div>
<div id="toggle-view-two-btn">toggle-view-two-btn</div>

关于Javascript classList 添加隐藏不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46896049/

相关文章:

html - 如何使用 CSS 缩小图像?

html - 从重叠文本中停止绝对定位的 div

javascript - 首次调用返回类型函数时未调用两个 javascript 函数

javascript - 如果选中复选框则更改颜色 - onchange 事件

jquery - 使用 div 类时如何让自动滚动到 div 的底部工作

html - 如何获得稳定的菜单?

javascript - 背景转换不起作用,九到 img,css

javascript - JSON 到 HTML 表格代码

javascript - 使用 jQuery 获取用户定义的名称

javascript - 从 Javascript 中的循环调用的缓慢 C# 进程正在锁定我的应用程序,直到它完成