试图通过 class 在 JS 中隐藏元素,但收到 "cannot set property 'class' of undefined" 错误

Trying to hide an element by class in JS, but receive a "cannot set property 'class' of undefined" error

我有一个名为 "hideConstruction()" 的函数,通过单击我的 wordpress 页面上的按钮来切换。它应该隐藏所有带有 class“.construction”的元素,但我却收到以下错误:

"Cannot set property 'visibility' of undefined"

这是我放入 wordpress script.js 的代码,通过 functions.php:

排队
function hideConstruction() {
    var element = document.getElementsByClassName("construction").style.visibility = "hidden";
}

这是发生这种情况的页面:https://satya-ame-art.com

谁能告诉我我做错了什么?非常感谢!

当你 运行 在控制台中 document.getElementsByClassName("construction") 它给出了两个元素所以如果你想隐藏第一个元素然后使用

document.getElementsByClassName("construction")[0].style.visibility = "hidden";

第二个元素隐藏使用

document.getElementsByClassName("construction")[1].style.visibility = "hidden";

document.getElementsByClassname returns 已找到元素的 HTMLCollection 数组。

正确的实现方式是

function hideConstruction() {
    var element = document.getElementsByClassName("construction")[0].style.visibility = "hidden";
}

谢谢!!