【问题标题】:( Uncaught TypeError: Cannot set property 'display' of undefined [duplicate](未捕获的类型错误:无法设置未定义的属性“显示”[重复]
【发布时间】:2021-09-21 21:08:47
【问题描述】:
function open() {
document.getElementsByClassName("nav").style.display='flex';}

我尝试了几次显示项目但无法解决它,我希望有人 帮助提前谢谢!

【问题讨论】:

  • 是的,谢谢。

标签: javascript undefined display uncaught-exception


【解决方案1】:

document.getElementsByClassName("nav")

Document 接口的 getElementsByClassName 方法返回一个 具有所有给定的所有子元素的类数组对象 类名。当在文档对象上调用时,完整的 搜索文档,包括根节点。您也可以致电 getElementsByClassName() 在任何元素上;它只会返回元素 它们是具有给定的指定根元素的后代 类名。

您可能需要执行以下操作(假设您只有一个类名为 nave 的元素):

(document.getElementsByClassName("nav")[0]).style.display='flex';

【讨论】:

  • 这是正确的。 document.getElementsByClassName("nav") 返回一个数组,你需要选择第一个元素。但如果数组为空,则第一个元素将未定义并引发相同的错误。在检查显示之前,您需要检查样式是否存在。
  • 来自How do I write a good answer?:“避免尝试回答......之前已经被问过并回答过很多次的问题。”。这个问题被问到on a daily basis。请标记以将它们关闭为重复而不是回答它们。
猜你喜欢
  • 2020-01-10
  • 2015-03-14
  • 1970-01-01
  • 2017-10-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多