Javascript无法执行此简单代码

Javascript无法执行此简单代码,javascript,Javascript,我试图在你点击按钮时切换导航栏。我遵循了一个示例,但我的javascript给出了一个错误:catch-TypeError:无法读取未定义的属性“display” 在htmldevelment.myFunction script.js:6 myFunction@script.js:6 守则: var myNavigation = document.getElementsByTagName("nav"); var myFunction = function (){

我试图在你点击按钮时切换导航栏。我遵循了一个示例,但我的javascript给出了一个错误:catch-TypeError:无法读取未定义的属性“display” 在htmldevelment.myFunction script.js:6 myFunction@script.js:6

守则:

var myNavigation = document.getElementsByTagName("nav");

var myFunction = function (){
       if (myNavigation.style.display === "none") {
              myNavigation.style.display === "flex"
       } else {
              myNavigation.style.display === "none"
       }
};

myButton.onclick = myFunction;

您正在使用document.getElementsByTagName。这将返回一个数组。您必须以该数组中的特定元素为目标。

您使用的是document.getElementsByTagName。这将返回一个数组。您必须以该数组中的特定元素为目标。

返回一个列表,而不是元素。

返回一个列表,而不是元素。

可能是myNavigation不可用。请注意,您正在以错误的方式调用myfunction。您应该像此带有括号的myfunction一样使用getElementsByTagName返回数组。您可以这样访问该数组的元素:myNavigation[0].style.display=flex;其中[0]访问该数组中的第一个元素。还要注意的是,这里只有一个=不是3。@Gad不,他没有试图在那里调用myFunction,如果在选择按钮时使用了返回数组的选择器,则应在其上建立索引可能myNavigation不可用。请注意,您正在以错误的方式调用myfunction,您应该像此带括号的myfunction一样使用getElementsByTagName返回数组。您可以这样访问该数组的元素:myNavigation[0].style.display=flex;其中[0]访问该数组中的第一个元素。还要注意的是,只有一个=not 3。@Gad不,他并没有试图在那个里调用myFunction,不应该在那个里。而且,当你们选择按钮时,若你们使用了返回数组的选择器,你们应该在它上面建立索引,但它确实返回了一个活动的HTMLCollection,因此,它在加载时会发现什么并不重要,但它会返回一个活动的HTMLCollection,所以它在加载时会发现什么并不重要