javascript - getElementById() vs querySelectorAll() 有问题
问题描述
为什么当我使用.getElementById()
(我将其用作测试)时有效,但 querySelectorAll() 无效并抛出“addEventListener 不是函数?” 是因为我选择了多个按钮还是存在多个 addEventListeners 语法?
const btn = document.querySelectorAll("marker");
btn.addEventListener("click", () => {
console.log("works");
});
btn.addEventListener("click", () => {
if (btn.style.backgroundColor === "green") {
btn.style.backgroundColor = "red";
btn.innerHTML = "-";
} else {
btn.style.backgroundColor = "green";
btn.innerHTML = "+";
}
});
<!DOCTYPE html>
<html>
<head>
<title>Marking</title>
</head>
<body>
<script src="script.js" defer></script>
<div id="main">
<button id="marker" style="background-color: green">+</button>
<button id="marker" style="background-color: green">+</button>
<button id="marker" style="background-color: green">+</button>
<button id="marker" style="background-color: green">+</button>
<button id="marker" style="background-color: green">+</button>
<button id="marker" style="background-color: green">+</button>
</div>
</body>
</html>
解决方案
推荐阅读
- python - 在python中使用io模块修改列表
- swift - DispatchQueue.main.asyncAfter 不延迟
- javascript - Node.js,Mongodb:如何使用`promise.then`设置全局变量?
- reactjs - TypeError: Object(...) is not a function uuid in reactjs and webpack
- javascript - 反应从对象数组中删除项目
- ios - Xcode 12 停留在“使用 App Store 进行身份验证”(不再有应用程序加载器)
- android - 在 FlatList 中 React Native Count up Timer
- javascript - 如何减少 web worker HTML 5 的 CPU 使用率
- python - Pandas:基于数据框的布尔列计算运行错误的干净方法?
- logging - 来自不同提供商的虚拟机的谷歌云日志无法正常工作