ak8*_*k85 0 html javascript onclick
我正在尝试使用js(无jQuery)创建一个简单的单击事件,如果我运行以下代码,则该代码仅适用于我单击的第一项。
var listItem = document.querySelector('li');
listItem.addEventListener('click', function(event) {
this.classList.toggle('clicked');
});Run Code Online (Sandbox Code Playgroud)
.clicked {
color:red;
}Run Code Online (Sandbox Code Playgroud)
<ul id="mylist">
<li>item 1</li>
<li>item 2</li>
</ul>Run Code Online (Sandbox Code Playgroud)
我看着另一种使用
var listItem = document.getElementById('mylist');
listItem.addEventListener('click', function(event) {
this.classList.toggle('clicked');
});Run Code Online (Sandbox Code Playgroud)
.clicked {
background-color:red;
}Run Code Online (Sandbox Code Playgroud)
<ul id="mylist">
<li>item 1</li>
<li>item 2</li>
</ul>Run Code Online (Sandbox Code Playgroud)
如何定位列表中的所有li,以便每次单击它们时都将其类切换
您应该使用querySelectorAll而不是querySelector,然后遍历所有列表项:
var listItems = document.querySelectorAll('li');
for(var i = 0; i < listItems.length; i++){
listItems[i].addEventListener('click', function(event) {
this.classList.toggle('clicked');
});
}
Run Code Online (Sandbox Code Playgroud)