javascript - 任何纠正这个/解释它的帮助将不胜感激
问题描述
尝试使用 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
迭代您的数组mlbOther
。现在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";
});
}
阅读更多
推荐阅读
- flutter - Dart 语法杀死了我 -> VoidCallback
- sql - 从 3 个表创建 SQL 函数/过程
- python - 多个名称指 1 个值问题
- javascript - 无法在 JavaScript fetch() 中将请求正文发送到 API 端点
- elasticsearch - Kibana:如何仅显示搜索词周围的有限行/单词,而不是完整文档?
- excel - vba 代码运行时出现“excel 已停止工作”
- string - 如何在未转义的空白处拆分字符串?
- android - 如何修复运行 ionic cordova build android 时未找到 AAPT 错误前台活动?
- python-3.x - 这个矩阵乘法背后的逻辑是什么?
- c# - 字段中的 QueryExpression 不应为空且具有特定值