Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如果您能帮我更正/解释,我们将不胜感激_Javascript_Arrays_Function - Fatal编程技术网

Javascript 如果您能帮我更正/解释,我们将不胜感激

Javascript 如果您能帮我更正/解释,我们将不胜感激,javascript,arrays,function,Javascript,Arrays,Function,尝试使用JavaScript为按钮编写函数。我希望函数同时隐藏一些ID元素并显示其他ID元素。这就是我目前所拥有的。它不起作用。我对JavaScript非常陌生,所以我的代码很可能是垃圾代码。感谢您的帮助 function mlbShowTeamsMap() { document.getElementById("mlbTeamsMap").style.display = "block"; document.getElementById("mlbTeamsList").style.disp

尝试使用JavaScript为按钮编写函数。我希望函数同时隐藏一些ID元素并显示其他ID元素。这就是我目前所拥有的。它不起作用。我对JavaScript非常陌生,所以我的代码很可能是垃圾代码。感谢您的帮助

function mlbShowTeamsMap() {
  document.getElementById("mlbTeamsMap").style.display = "block";
  document.getElementById("mlbTeamsList").style.display = "block";
  var mlbOther = ["nflTeamsList", "nflTeamsMap", "nhlTeamsList", "nhlTeamsMap", "nbaTeamsList", "nbaTeamsMap"];
  mlbOther.forEach(hide);

  function hide() {
    style.display = "none";
  }
}

您正在使用
forEach
迭代您的数组
mlhord
。现在,
forEach
接受一个数组,并具有一个回调函数,该函数将第一个参数作为数组的元素。因此,回调函数
hide
需要定义一个变量来接受此参数。请在下面查找代码

更正语法

function mlbShowTeamsMap() {
  document.getElementById("mlbTeamsMap").style.display = "block";
  document.getElementById("mlbTeamsList").style.display = "block";

  var mlbOther = ["nflTeamsList", "nflTeamsMap", "nhlTeamsList", "nhlTeamsMap", "nbaTeamsList", "nbaTeamsMap"];

  mlbOther.forEach(hide);

  function hide(id) {
    document.getElementById(id).style.display = "none";
  }

}
使用箭头函数的替代语法

function mlbShowTeamsMap() {
  document.getElementById("mlbTeamsMap").style.display = "block";
  document.getElementById("mlbTeamsList").style.display = "block";

  var mlbOther = ["nflTeamsList", "nflTeamsMap", "nhlTeamsList", "nhlTeamsMap", "nbaTeamsList", "nbaTeamsMap"];

  mlbOther.forEach(id => {
    document.getElementById(id).style.display = "none";
  });
}
阅读更多信息


谢谢你,但它不起作用。当我点击按钮时,它显示了出来,但没有隐藏。我试着复制和粘贴每一个。非常感谢您的帮助。我是否应该为数组中的每个元素添加一个#?@MATH9因为您使用的是
getElementById
,所以您不需要
#
确定。在这一点上,我不知道为什么它不工作?它工作了!“.style”在“.display”之前丢失。非常感谢。