javascript - 如何从相同 ID 的不同值中进行选择?
问题描述
所以我想让一个网页在不加载的情况下切换页面,但我似乎无法理解如何验证我的 ID 中何时有不同的不同值:
<div id='myId'>home</div>
<div id='myId'>market</div>
想要输出到:
<div id="dankMeme"></div>
这是我的脚本:
var element = document.getElementById('myId');
element.addEventListener('click', () => {
switch(element.innerHTML) {
case "market":
document.getElementById("dankMeme").innerHTML = "you are in the market";
break;
case "home":
document.getElementById("dankMeme").innerHTML = "you are in the home";
break;
default:
// code block
}
});
为什么它只适用于第一个 id ?我怎样才能使它适用于所有 ID?
解决方案
对于有效的 HTML,将 ID 更改为 Class,您需要循环以将侦听器添加到多个元素
var element = document.querySelectorAll('.myNav')
element.forEach(function(item) {
item.addEventListener('click', () => {
switch (item.innerHTML) {
case "market":
document.getElementById("dankMeme").innerHTML = "you are in the market";
break;
case "home":
document.getElementById("dankMeme").innerHTML = "you are in the home";
break;
default:
// code block
}
});
})
<div class='myNav'>home</div>
<div class='myNav'>market</div>
<br>
<div id="dankMeme"></div>
推荐阅读
- c++ - 如何在 C++ 中按字母顺序排列数组中的字符串?
- javascript - Mongoose:TypeError:'mongooseSchemahere' 不是函数
- jquery - jquery如何发布数组
- sql - PostgreSQL 中截至当前日期的每月工作日
- python - Python 中的 Web 抓取错误 - TypeError: 'NoneType' object is not callable
- javascript - Instascan 不抛出错误,但不显示视频预览
- database - 可能分配给两个不同的实体
- javascript - 如何使用打字稿来获取对象数组的长度
- yaml - 从 yaml 生成相同的对象
- python - 如何根据具有相同哈希的元素从集合中检索特定元素?