【发布时间】:2023-04-06 10:05:01
【问题描述】:
我想让<li> 元素在我单击它时更改类,并在我再单击一次时将其删除。我用过这样的简单代码:
var ul = document.querySelector("ul");
ul.addEventListener("click", function() {
var li = document.querySelector("li");
li.classList.add("done");
})
ul.addEventListener("dblclick", function() {
var li = document.querySelector("li");
li.classList.toggle("done");
})
所以你可以看到点击时它会继续,而在 dbl 点击时它会关闭,但它同时对所有 <li> 元素起作用。
【问题讨论】:
-
您的问题中没有标记 -> minimal reproducible example; “它同时作用于所有
<li>元素” 是什么意思?您的点击处理程序只会更改 DOM 中的第一个<li>元素。 -
fyi
dblclick连续单击鼠标两次,而不是再次单击已单击一次的项目。根据您的问题描述,您的代码不会像您期望的那样切换类。您应该将侦听器中的add更改为toggle
标签: javascript dom element