html5中新增操作类名方式 classList
发布日期:2021-06-30 11:53:48
浏览次数:3
分类:技术文章
本文共 1019 字,大约阅读时间需要 3 分钟。
如果一个元素有多个类名,要如何删除呢,jqeury提供了removeClass()这个api,如果不用插件,自己封装,可以这样
function removeClass(elm,removeClassName) { var classNames = elm.className.split(/\s+/);//首先渠道类名字符串并拆分成数组 var pos = -1, i, len; for (i = 0, len = classNames.length; i < len; i++){//找到要删的类名 if(classNames[i] == removeClassName) { pos = i; break; } } if(pos == -1){ throw Error("没有这个类名"); } classNames.splice(i,1);//删除类名 elm.className = classNames.join(" ");//把剩下的类名拼成字符串重新设置}
当然html5新增了操作类名的方式 classList 他有4个属性
add(value):将给定的字符串值添加到列表中。如果值已经存在,就不添加了。contains(value):表示列表中是否存在给定的值,如果存在则返回 true,否则返回 false。remove(value):从列表中删除给定的字符串。toggle(value):如果列表中已经存在给定的值,删除它;如果列表中没有给定的值,添加它
下面是使用示例,非常方便
//删除"disabled"类div.classList.remove("disabled");//添加"current"类div.classList.add("current");//切换"user"类div.classList.toggle("user");//确定元素中是否包含既定的类名if (div.classList.contains("bd") && !div.classList.contains("disabled")){//执行操作)//迭代类名for (var i=0, len=div.classList.length; i < len; i++){doSomething(div.classList[i]);}
但是支持浏览器比较少, ie10+,Firefox 3.6+和 Chrome
转载地址:https://jackiehao.blog.csdn.net/article/details/109380181 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
表示我来过!
[***.240.166.169]2024年05月04日 03时54分21秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
flink physical partition
2019-04-30
java 解析json
2019-04-30
java http请求
2019-04-30
tensorflow 数据格式
2019-04-30
tf rnn layer
2019-04-30
常用中间件
2019-04-30
tf input layer
2019-04-30
tf model create
2019-04-30
tf dense layer两种创建方式的对比和numpy实现
2019-04-30
tf initializer
2019-04-30
tf 从RNN到BERT
2019-04-30
tf keras SimpleRNN源码解析
2019-04-30
tf keras Dense源码解析
2019-04-30
tf rnn输入输出的维度和权重的维度
2019-04-30
检验是否服从同一分布
2019-04-30
tf callbacks
2019-04-30
keras、tf、numpy实现logloss对比
2019-04-30
Ubuntu20.04安装微信
2019-04-30
Restful风格的使用
2019-04-30
Swagger基础入门整合SpringBoot
2019-04-30