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 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:vue项目中鼠标滚轮缩放图片大小和拖拽效果
下一篇:vue项目中实现滚动条滚到相应高度触发对应的动画效果

发表评论

最新留言

表示我来过!
[***.240.166.169]2024年05月04日 03时54分21秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章