原生JS实现addClass,removeClass,toggleClass

原生js实现addClass,removeClass和toggleClass 综述 Jquerys实现class的add,remove和toggle是十分方便的。而H5新增的classList方法,也让原生js的各种class操作变得方便起来。然而,兼容性来了,classList只兼容IE10及以上(这里只提IE吧,IE是前端过不去的兼容坎),因此十分想方便的用原生js,又纠结在了兼容性上,干脆,那就自己来实现一下吧,都给它扔进去,兼容的就classList,不兼容的就用... 阅读详情

jQuery操作class的方式非常强大,但是目前还有一些人不知道如何使用或者由于项目统一性的原因无法使用jquery.

在此写了一个利用原生js来实现对dom元素class的操作方法

1.addClass:为指定的dom元素添加样式

2.removeClass:删除指定dom元素的样式

3.toggleClass:如果存在(不存在),就删除(添加)一个样式

4.hasClass:判断样式是否存在


下面为一toggleClass的测试例子

<style type="text/css">
	div.testClass{
		background-color:gray;
	}
</style>

<script type="text/javascript">
function hasClass(obj, cls) {
    return obj.className.match(new RegExp('(\\s|^)' + cls + '(\\s|$)'));
}

function addClass(obj, cls) {
    if (!this.hasClass(obj, cls)) obj.className += " " + cls;
}

function removeClass(obj, cls) {
    if (hasClass(obj, cls)) {
        var reg = new RegExp('(\\s|^)' + cls + '(\\s|$)');
        obj.className = obj.className.replace(reg, ' ');
    }
}

function toggleClass(obj,cls){
	if(hasClass(obj,cls)){
		removeClass(obj, cls);
	}else{
		addClass(obj, cls);
	}
}

function toggleClassTest(){
	var obj = document. getElementById('test');
	toggleClass(obj,"testClass");
}
</script>

<body>
	<div id = "test" style = "width:250px;height:100px;">
		sssssssssssss
	</div>
	<input type = "button" value = "toggleClassTest" onclick = "toggleClassTest();" />
</body>

JavaScript中如何移除元素的类(Class) 要在JavaScript中移除元素的类(Class),我们可以使用Element对象的classList属性和remove方法。classList属性返回一个DOMTokenList对象,它表示元素的类列表,可以用于添加、删除和切换类。该方法接受一个类名作为参数,并返回一个布尔值,指示元素是否包含该类。方法从该元素的类列表中移除了一个类名为"myClass"的类。方法中传递多个参数,每个参数代表一个要移除的类名。另外,如果我们想要检查元素是否具有特定的类,可以使用。除了移除类和检查类的存在, 阅读详情

相关推荐

使用原生 JavaScript 实现 addClass、removeClass 和 toggleClass 功能的示例

它将查找匹配选择器的所有元素,并为每个元素切换指定的类名,即如果元素有该类名,则删除它;它将查找匹配选择器的所有元素,并为每个元素切换指定的类名,即如果元素有该类名,则删除它;与 addClass 函数类似,removeClass 函数也接受两个参数:元素的选择器和要删除的类名。与 addClass 函数类似,removeClass 函数也接受两个参数:元素的选择器和要删除的类名。你可以在你的项目中使用这些函数来动态修改元素的类名,以实现各种样式和交互效果。首先,让我们来实现 addClass 函数。

CgbAutoit的博客 1139

JS-移除class

JS-移除class 文章目录JS-移除class移除class一、问题二、代码三、结果 移除class 一、问题 找到class为XXX的标签,然后删除这些标签对应的class 使用Element.classList的remove(),add()方法 Element.classList.add(className) Element.classList.remove(className) 二、代码 <!DOCTYPE html> <html lang="en"> <

qq_40850291的博客 6101

打开UG会安装报错:initialization internal ERROR 的提示框,提示line 1344 of错误的解决方案

打开UG会安装报错:initialization internal ERROR 的提示框,提示line 1344 of错误的解决方案

Q82556499的博客 3520

js实现addClass、removeClass方法

js实现addClass,removeClass

weixin_46120329的博客 1528

debian mirrors 镜像源 riscv 64 赛昉 星光 starfive vf2 InRelease‘ doesn‘t support architecture ‘riscv64‘

debian mirrors 镜像 riscv 64 赛昉 星光2 starfive vf2 InRelease' doesn't support architecture 'riscv64'

qq_29758759的博客 1257

Word公式一键转MathType保姆级教程(附omml2mml.xsl报错终极解决方案)

本文提供Word公式一键转MathType的保姆级教程,重点解决常见的omml2mml.xsl报错问题。通过详细分析报错原因、官方解决方案实操步骤及转换后格式优化技巧,帮助用户高效完成公式转换,适用于科研论文和商业文档编辑。

weixin_30082367的博客 552

原生js动态添加/删除class属性值

【代码】原生js动态添加/删除class属性值。

开发微信:18189510554 1576

从零到一:Qt与PCL的跨平台开发环境搭建全攻略

本文详细介绍了从零开始搭建Qt与PCL跨平台开发环境的完整流程,涵盖Windows、Linux和macOS三大平台。重点解析了Qt5与Qt6版本选择、PCL库安装配置、VTK集成等关键技术要点,并提供跨平台CMake项目模板和常见问题解决方案,助力开发者快速构建三维点云处理应用。

weixin_29280657的博客 382

原生js实现addClass、removeClass、toggleClass

jquery里有添加样的().addClass和移除样式().addClass和移除样式()>removeClass(); 那么如何用原生js实现?function hasClass(obj, cls) { return obj.className.match(new RegExp('(\\s|^)' + cls + '(\\s|$)')); }function addClass(obj,

u010552788的专栏 3118

Zlib1.2.11源码编译(Win10+VS2019)

下载 下载网址: zlib Home Site 得到文件: 解压缩到“D:\SourceCodes\zlib-1.2.11” 使用CMake配置、生成并打开项目 将CMakeLists.txt拖入CMake,配置(Configure): 生成(Generate) 打开项目(Open Project),CMake调用VS2019打开项目 生成debug版本 构建项目ALL_BUILD。成功生成debug版本 在“D:\Sourc...

Alexabc3000的专栏 1892

LEAP模型—低排放分析平台

LEAP 正在迅速成为进行综合资源规划、温室气体 (GHG) 缓解评估和低排放发展战略 (LEDS) 的国家的事实标准,尤其是在发展中国家,许多国家也选择使用 LEAP 作为其承诺的一部分向联合国气候变化框架公约(UNFCCC)报告。至少有 32 个国家使用 LEAP 来创建能源和排放情景,这些情景是其国家自主气候变化贡献计划 (INDC) 的基础:具有历史意义的巴黎气候协议的基础旨在表明各国开始经济脱碳的意图和投资于气候适应力。

weixin_54697010的博客 3280

原生JavaScript实现jQuery的hasClass,removeClass,addClass,toggleClass

[size=small] 介绍: 1、hasClass:判断DOM元素是否存在类。 2、addClass:为的DOM元素添加类。 3、removeClass:删除DOM元素的类。 4、toggleClass:如果DOM元素存在(不存在)类,就删除(添加)类。 原生 JavaScript 实现的代码:[/size] [code="js"] // 实现方法2:传入一个数组 f...

 我的博客 304

ChatGPT充值,银行卡被拒绝,图文教程

ChatGPT充值,银行卡被拒绝

weixin_46713695的博客 2万+

原生JavaScript实现hasClass、addClass、removeClass、toggleClass

兼容IE6+,因IE6、IE7、IE8不支持Array.prototype.indexOf()和String.prototype.trim(),分别用Polyfill实现支持。详细:indexOfhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/in...

173

乐企归集能力说明文档V2.0006

纳税人销售货物、提供服务开具的增值税发票及购进货物、接受服务取得的增值税发票、海关缴款书(含出口转内销证明)、代扣代缴完税凭证,可以通过本能力进行归集。纳税人可将本能力中的各类规则和接口嵌入本单位信息化系统中(如:销售、报销、财务等),实现发票自动化归集,便于纳税人完成发票入账、抵扣、退税以及代办退税等操作,有效提升涉税业务办理效率。

记录点滴 573

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

转:原生JS实现addClass,removeClass,toggleClass

原文地址:http://blog.youkuaiyun.com/lowkeysk/article/details/8063816 分类: js/jquery2012-10-12 11:25 285人阅读 评论(0) 收藏 举报 jQuery操作class的方式非常强大,但是目前还有一些人不知道如何使用或者由于项目统一性的原因无法使用jquery. 在此写了一个利用原生js来实现对dom元

464

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

原生JavaScript实现的addclass,removeclass,hasclass,toggleclass,getbyclass

<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title>addclass,removeclass,hasclass,toggleclass,getbyclass</title> </head>...

weixin_30500473的博客 147

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

上一篇: 去除Chrome浏览器文本框边缘的黄线
下一篇: 常用CssHack的写法(IE6-9)以及主流浏览器hack写法
LowKeySk
博客等级 码龄15年 21粉丝 29原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值