[英]Iterate elements and toggle using classList in javascript
Conditions:状况:
classList
property to invert which elements have .highlight
class.classList
属性来反转哪些元素具有.highlight
类。<li>
elements and toggle the class of .highlight
.<li>
元素并切换.highlight
的类。 on each one. Your result should be like this!你的结果应该是这样的!
/* app.js */ let list = document.querySelector('li'); list.classList.add('');
/* index.css */ /*No need to touch anything in this file:*/ li { background-color: #B10DC9; }.highlight { background-color: #7FDBFF; }
<.-- index.html --> <.DOCTYPE html> <head> <title>ClasList</title> </head> <body> <link rel="stylesheet" type="text/css" href="index.css"> <!--LEAVE THIS FILE ALONE!--> <ul> <li>Hello</li> <li class="highlight">Hello</li> <li>Hello</li> <li>Hello</li> <li class="highlight">Hello</li> <li>Hello</li> </ul> <script src="app.js"></script> </body> </html>
The following solution removes the .highlight
class style from the <li>
if the .highlight
class style is applied to the <li>
.如果将
.highlight
class 样式应用于<li>
li> ,则以下解决方案会从<li>
中删除.highlight
class 样式。 If the .highlight
class style is not applied to the <li>
element, the .highlight
class style is added to the <li>
element.如果
.highlight
class 样式未应用于<li>
元素,则.highlight
class 样式将添加到<li>
元素。
/* The querySelectorAll() method is used to select all <li> elements. */ let list = document.querySelectorAll('li'); var listArray = [...list]; /* Each <li> element is checked using the forEach() method. */ listArray.forEach(element => { /* Is the ".highlight" class style applied to the <li> element? */ if(element.classList.contains("highlight")) { /* Remove the ".highlight" class style from the <li> element. */ element.classList.remove("highlight"); } else { /* Add the class style ".highlight" to the <li> element. */ element.classList.add("highlight"); } });
li { background-color: #B10DC9; }.highlight { background-color: #7FDBFF; }
<.DOCTYPE html> <head> <title>ClasList</title> <link rel="stylesheet" type="text/css" href="index.css"> </head> <body> <ul> <li>Hello</li> <li class="highlight">Hello</li> <li>Hello</li> <li>Hello</li> <li class="highlight">Hello</li> <li>Hello</li> </ul> <script src="app.js"></script> </body> </html>
/* The querySelectorAll() method is used to select all <li> elements. */ let list = document.querySelectorAll('li'); window.addEventListener('load', (event) => { for(let i = 0; i < list.length; ++i) { if(list[i].classList.contains("highlight")) list[i].classList.remove("highlight"); else list[i].classList.add("highlight"); } });
li { background-color: #B10DC9; }.highlight { background-color: #7FDBFF; }
<.DOCTYPE html> <head> <title>ClasList</title> <link rel="stylesheet" type="text/css" href="index.css"> </head> <body> <ul> <li>Hello</li> <li class="highlight">Hello</li> <li>Hello</li> <li>Hello</li> <li class="highlight">Hello</li> <li>Hello</li> </ul> <script src="app.js"></script> </body> </html>
/* The querySelectorAll() method is used to select all <li> elements. */ const li= document.querySelectorAll('li'); for(let i of li) { i.classList.toggle("highlight"); }
li { background-color: #B10DC9; }.highlight { background-color: #7FDBFF; }
<.DOCTYPE html> <head> <title>ClasList</title> <script src="node_modules/babel-polyfill/dist/polyfill:js" type="text/javascript"> </script> <script src="https.//unpkg.com/@babel/standalone/babel.min.js"></script> </head> <body> <ul> <li>Hello</li> <li class="highlight">Hello</li> <li>Hello</li> <li>Hello</li> <li class="highlight">Hello</li> <li>Hello</li> </ul> </body> </html>
/ Below is the js !!! /下面是js!!! /
/
const lists = document.querySelectorAll('li');
for (let li of lists ){
if (li.classList.contains('highlight')) {
li.classList.remove('highlight');
}
else{
li.classList.add('highlight');
}
}
const li = document.querySelectorAll('li');
li.forEach(element => element.classList.toggle('highlight'));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.