HTML5中classList属性
[导读] 前面为大家介绍了一些有关HTML5新添加的选择器,分别是querySelector(),querySelectorAll()和getElementsByClassName()。这三个都有自己独特的功能,大家有需要的话可以看HTML5实战与剖析中的相关内容。今天为大
前面为大家介绍了一些有关HTML5新添加的选择器,分别是querySelector(),querySelectorAll()和getElementsByClassName()。这三个都有自己独特的功能,大家有需要的话可以看HTML5实战与剖析中的相关内容。今天为大家介绍classList属性。
classList属性究竟是干什么的,我们先撇下classList不管。我们考虑这么一个问题,那就是我们如何将拥有多个类名的元素中的其中一个类名删除呢?梦龙较劲脑汁儿终于想到一个实现的方法。将拥有类名li、meng和long,三个类名中的类名meng删除。代码如下
HTML代码
<p class="li meng long">梦龙小站</p>
登录后复制登录后复制登录后复制登录后复制
JavaScript代码
//获取要删除类名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(" ");
预览效果
为了从的元素类名中删除”meng”,上面这些代码都是必须的。通过类似的算法替换类名并确认元素中是否包含该类名。若是添加类名可以通过拼接字符串完成,但是必须通过检测确定不会多次添加相同的类名,很多JavaScript库都是实现了这个方法,简化操作。而删除类名则是先要获取已经有的类名,找到要删除类名的位置,然后进行删除。
通过上面的方法可以看出,要实现一个简单的删除功能要写好几行代码,若不想写好几行代码就得引入一个库用库中的方法才可以。有了HTML5就不用那么麻烦了,我们可以用HTML5中的classList属性来完成这些步骤。这个classList属性是新集合类型DOMTokenList的实例。与其他DOM集合类似。DOMTokenList有一个表示自己包含多少元素的length属性,而要取得每个元素可以使用item()方法也可以使用方括号语法。此外,下面是给这个新类型定义的方法。
1、remove(value)
remove(value)方法表示从列表中删除给定的字符串。小例子如下:
HTML代码
<p class="li meng long">梦龙小站</p>
JavaScript代码
//获取要删除类名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)
contains(value)方法表示列表中是否存在给定的值,如果存在就返回”true”,否则返回”false”小例子如下:
HTML代码
<p class="li meng long">梦龙小站</p>
登录后复制登录后复制登录后复制登录后复制
JavaScript代码
//获取要删除类名meng的p var p = document.getElementsByTagName("p")[0]; alert(p.classList.contains("meng")) //true alert(p.classList.contains("menglong")) //false
3、add(value)
add(value)方法表示列表中的字符串添加到列表中。如果已经存在就不添加了。小例子如下:
HTML代码
<p class="li meng long">梦龙小站</p>
JavaScript代码
//添加类名 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)方法,如果列表中已经存在给定的值,删除它;如果列表中没有给定的值,添加它。小例子如下:
HTML代码
<p class="li meng long">梦龙小站</p>梦龙小站
JavaScript代码
//切换类名 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
预览效果
有关classList的小例子们已经为大家呈现了,通过小例子就能把这些小方法展现和解释清楚了。有了classList,除非你需要全部删除所有类名,或者完全重写元素的class属性,否则用不到className属性了,而且还附加很多实用的方法。支持classList属性的浏览器有Firefox 3.6+ 和Chrome。
HTML5实战与剖析之classList属性就为大家介绍到这里了,点滴的积累就是明天的成功,一天学点HTML5,有一天一定能成功学会的。感谢大家支持梦龙小站,更多有关HTML5的更新敬请关注梦龙小站关于HTML5实战与剖析的更新。
以上是 HTML5中classList属性的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

PHP 8.4 带来了多项新功能、安全性改进和性能改进,同时弃用和删除了大量功能。 本指南介绍了如何在 Ubuntu、Debian 或其衍生版本上安装 PHP 8.4 或升级到 PHP 8.4

Visual Studio Code,也称为 VS Code,是一个免费的源代码编辑器 - 或集成开发环境 (IDE) - 可用于所有主要操作系统。 VS Code 拥有针对多种编程语言的大量扩展,可以轻松编写

JWT是一种基于JSON的开放标准,用于在各方之间安全地传输信息,主要用于身份验证和信息交换。1.JWT由Header、Payload和Signature三部分组成。2.JWT的工作原理包括生成JWT、验证JWT和解析Payload三个步骤。3.在PHP中使用JWT进行身份验证时,可以生成和验证JWT,并在高级用法中包含用户角色和权限信息。4.常见错误包括签名验证失败、令牌过期和Payload过大,调试技巧包括使用调试工具和日志记录。5.性能优化和最佳实践包括使用合适的签名算法、合理设置有效期、

字符串是由字符组成的序列,包括字母、数字和符号。本教程将学习如何使用不同的方法在PHP中计算给定字符串中元音的数量。英语中的元音是a、e、i、o、u,它们可以是大写或小写。 什么是元音? 元音是代表特定语音的字母字符。英语中共有五个元音,包括大写和小写: a, e, i, o, u 示例 1 输入:字符串 = "Tutorialspoint" 输出:6 解释 字符串 "Tutorialspoint" 中的元音是 u、o、i、a、o、i。总共有 6 个元

本教程演示了如何使用PHP有效地处理XML文档。 XML(可扩展的标记语言)是一种用于人类可读性和机器解析的多功能文本标记语言。它通常用于数据存储

静态绑定(static::)在PHP中实现晚期静态绑定(LSB),允许在静态上下文中引用调用类而非定义类。1)解析过程在运行时进行,2)在继承关系中向上查找调用类,3)可能带来性能开销。

PHP的魔法方法有哪些?PHP的魔法方法包括:1.\_\_construct,用于初始化对象;2.\_\_destruct,用于清理资源;3.\_\_call,处理不存在的方法调用;4.\_\_get,实现动态属性访问;5.\_\_set,实现动态属性设置。这些方法在特定情况下自动调用,提升代码的灵活性和效率。

DeepSeekAI工具使用指南及常见问题解答DeepSeek是一款功能强大的AI智能工具,本文将解答一些常见的使用问题,助您快速上手。常见问题解答:不同访问方式的区别:网页版、App版和API调用在功能上没有区别,App只是网页版的封装。本地部署使用的是蒸馏模型,能力略逊于完整版DeepSeek-R1,但32位模型理论上拥有90%的完整版能力。酒馆(SillyTavern)是什么?SillyTavern是一个前端界面,需要通过API或Ollama调用AI模型。破限是什么
