原生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

RDD2022 数据格式转换与清洗

Rdd2022数据集,是关于道路损伤的数据集,与rdd2020相比增加了两万多张图片但是由于格式不能被yolo直接使用且其中有大量的图片没有符合要求的标注,特写此文章记录数据清洗与格式化的过程。

蓝胖子的博客 9946

js实现addClass、removeClass方法

js实现addClass,removeClass

weixin_46120329的博客 1528

论文阅读 Quantum Convolutional neural network

在传统的局域序参量(如磁化强度 ⟨Xi⟩)无法有效区分某些拓扑相(如 Haldane 相)时,字符串序参量(SOP)提供了一种方法来识别这些相。字符串序参量的定义通常涉及多个远离的站点之间的长程关联,通常具有如下形式:Zi,Xk,Zj是泡利矩阵(Pauli operators)。指数项 eiπ∑k=ijXk表示一个相位因子。这意味着我们要计算两个远离站点 i,j 的Z 分量的关联,同时考虑它们之间的X 作用。这个非局域的字符串序参量可以用来检测对称保护拓扑(SPT)相。

m0_54373077的博客 2000

Qt Creator设计器里也能拖拽?5步将你的QML自定义控件变成可视化插件(Qt6.5+)

本文详细介绍了如何在Qt Creator设计器中实现QML自定义控件的可视化拖拽功能(Qt6.5+)。通过5个步骤,从构建可插件化的QML控件基础到部署插件到设计器环境,帮助开发者将自定义控件转化为设计器插件,提升团队协作效率。特别适合需要频繁调整UI样式的开发场景。

weixin_29214559的博客 170

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

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

开发微信:18189510554 1576

【报错】(pycharm运行程序)OSError: [WinError 1114] 动态链接库(DLL)初始化例程失败。 Error loading

1 报错 OSError: [WinError 1114] 动态链接库(DLL)初始化例程失败。 Error loading 2 分析原因 通过 activate Distance 进行自己创建的 Distance 虚拟环境中,输入python会显示环境中python的版本信息,再依次import,显然不会报错。 这是因为在Anaconda的环境下有支持 import torch 的 dll,而在PyCharm中使用的是自己创建的新环境,还缺少相应支持的dll,仅需在PyCharm中配置环境变量。.

静谧、淡雅 8621

原生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

手把手教你学Simulink——光伏储能系统双向DC-AC逆变器恒功率控制(PQ控制)仿真

本文详细介绍了光伏储能系统中双向DC-AC逆变器的恒功率控制(PQ控制)仿真方法。主要内容包括:1)PQ控制原理及其在光伏满发和储能充放电中的应用;2)系统架构设计,重点推导了功率到dq电流的数学映射关系及电流内环控制算法;3)Simulink建模步骤,涵盖功率电路搭建、PLL设计、电流参考转换等关键环节;4)仿真结果分析,验证了系统在10kW光伏满发和-5kW储能充电模式下的稳态精度和动态切换性能;5)工程实践建议,包括数字控制延迟补偿、低电压穿越处理等实际问题解决方案。该指南为新能源并网系统的功率精准控

MHD0815的博客 424

多模态对齐方案

本文中我们介绍了 13 中常见的大型多模态模型(Large Multimodal Models, LMM),包括 BLIP-2,LLaVA、MiniGPT、Qwen-VL 以及 Ferret 等。最全 LMM 模型结构(13种)综述。单层linear投影、两层mlp。

liguandong 2082

原生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

ICC2:mem出pin的Off Grid问题

这个命令本意是解决跨制成调用IP时在IP出pin位置加一定的routing blockage,限制绕线在一定范围内只能走直线出pin,用来解决off-grid问题也有很好的效果。在ICC2做先进工艺时会有off-grid的问题,off-grid可以理解为绕线没有在preferred方向track上。测试发现,2022版本以前的ICC2绕线容易有off-grid问题。主要在mem出pin的M2/M3层次上,切换版本绕线能很大程度上解决这个问题。我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?

m0_61544122的博客 1630

原生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

YOLOv8 模型进化全解析:百种创新模块集成方法与实战部署指南(附资料链接)

动态网络 | DeformableConv/DynamicHead| +2.8% || 轻量化卷积 | GhostConv/MobileConv | +1.2% || 多尺度融合 | AFPN/ASFF | +3.5% || 注意力机制 | CA/EMA/SimAM | +1.8-4.2% |

FJN110的博客 111

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

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

转:原生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

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

原生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

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

上一篇: 去除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、付费专栏及课程。

余额充值