[Introduction] Previously we introduced some newly added selectors in HTML5, namely querySelector(), querySelectorAll() and getElementsByClassName(). These three have their own unique functions. If necessary, you can read the relevant content in HTML5 actual combat and analysis. Today, I have introduced to you some newly added selectors in HTML5, namely querySelector(), querySelectorAll() and getElementsByClassName(). These three have their own unique functions. If necessary, you can read the relevant content in HTML5 actual combat and analysis. Today I will introduce to you the classList attribute.
What exactly does the classList attribute do? Let’s leave classList alone for now. We consider the question, that is, how do we delete one of the class names among elements with multiple class names? Menglong struggled with his brain and finally came up with a way to achieve it. Delete the class name meng among the three class names li, meng and long. The code is as follows
HTML code
<p class="li meng long">梦龙小站</p>
//获取要删除类名meng的p var p = document.getElementsByTagName("p")[0]; //获取类名字符串并拆分成数组 var allClassName = p.className.split(" "); //找到要删除的类名 var i, len, pos = -1; for(i=0, len = allClassName.length; i < len; i++){ if(allClassName[i] == "meng"){ pos = i; break; } } //删除类名 allClassName.splice(pos, 1); alert(allClassName) //li,long //将其余的类名拼成字符串并重新添加到元素的类名中 p.className = allClassName.join(" ");
Preview effect
## In order to remove "meng" from the element class name, the above code All are required. Use a similar algorithm to replace the class name and confirm whether the class name is contained in the element. If you add a class name, you can complete it by splicing strings, but you must make sure through detection that the same class name will not be added multiple times. Many JavaScript libraries have implemented this method to simplify the operation. To delete a class name, you must first obtain the existing class name, find the location where the class name is to be deleted, and then delete it. As can be seen from the above method, it takes several lines of code to implement a simple deletion function. If you don’t want to write several lines of code, you have to introduce a library and use the methods in the library. With HTML5, there is no need to be so troublesome. We can use the classList attribute in HTML5 to complete these steps. This classList attribute is an instance of the new collection type DOMTokenList. Similar to other DOM collections. DOMTokenList has a length attribute that indicates how many elements it contains. To obtain each element, you can use the item() method or square bracket syntax. Additionally, below are the methods defined for this new type. 1. remove(value) The remove(value) method means to delete the given string from the list. A small example is as follows: HTML code
<p class="li meng long">梦龙小站</p>
//获取要删除类名meng的p var p = document.getElementsByTagName("p")[0]; alert(p.classList) //li meng long p.classList.remove("meng") alert("p.className: " + p.className) //p.className: li long
2. contains(value) The contains(value) method indicates whether a given value exists in the list Value, if it exists, return "true", otherwise return "false". A small example is as follows: HTML code
<p class="li meng long">梦龙小站</p>
//获取要删除类名meng的p var p = document.getElementsByTagName("p")[0]; alert(p.classList.contains("meng")) //true alert(p.classList.contains("menglong")) //false
3. add(value)
HTML code
<p class="li meng long">梦龙小站</p>
//添加类名 menglong //获取要删除类名meng的p var p = document.getElementsByTagName("p")[0]; p.classList.add("menglong"); alert("p.className: " + p.className) //p.className: li meng long menglong
4. toggle(value) toggle(value) method, if the given value already exists in the list value, delete it; if the given value is not in the list, add it. A small example is as follows: HTML code
<p class="li meng long">梦龙小站</p>梦龙小站
//切换类名 meng //获取要删除类名li的p var p = document.getElementsByTagName("p"); var i, len; for(i=0, len = p.length; i< len; i++){ p[i].classList.toggle("meng"); } alert("p[0].className: " + p[0].className) //p[0].className: li long alert("p[1].className: " + p[1].className) //p[1].className: li meng long
Small examples about classList have been presented to you. These small methods can be clearly demonstrated and explained through small examples. . With classList, unless you need to delete all class names or completely rewrite the class attribute of the element, the className attribute is no longer needed, and there are many practical methods attached. Browsers that support the classList attribute include Firefox 3.6+ and Chrome. The classList attribute of HTML5 actual combat and analysis is introduced here. The accumulation of bit by bit is tomorrow’s success. If you learn a little HTML5 in one day, you will definitely learn it successfully one day. Thank you all for supporting Menglong Station. For more updates about HTML5, please pay attention to Menglong Station’s updates on HTML5 practice and analysis.
The above is the detailed content of classList attribute in HTML5. For more information, please follow other related articles on the PHP Chinese website!