🚀 个人主页 极客小俊
✍🏻 作者简介:web开发者、设计师、技术分享博主
🐋 希望大家多多支持一下, 我们一起进步!😄
🏅 如果文章对你有帮助的话,欢迎评论 💬点赞👍🏻 收藏 📂加关注

我们可以使用className属性来实现对class类的设置,或者封装一些小函数
自定义一个hasClass函数
为了添加的class类不重复,所以我们在添加class类之前也应该判断一下当前元素是否已经存在了要添加的class类名称,所以这里我们可以封装一个hasClass()函数来实现这个查询是否存在的功能
代码如下
/**
* @param obj object
* @param ClassName string
* @return {boolean}
*/
function hasClass(obj, ClassName) {
if (obj.className === obj.id) {
console.log('class名称和ID名称同名了,建议修改');
return;
}
var reg = new RegExp("\\b" + obj.className + "\\b");
return reg.test(obj.className);
}
自定义一个addClass函数
我们可以封装一个addClass()函数来为元素添加css中的class类
/**
* @param obj object
* @param ClassName string
*/
function addClass(obj, ClassName) {
if (!hasClass(obj, ClassName)) {
obj.className = ClassName;
}
}
自定义一个removeClass函数
我们也可以封装一个removeClass()方法来删除指定的class类
代码如下
/**
* @param obj
* @param ClassName
*/
function removeClass(obj, ClassName) {
if (hasClass(obj, ClassName)) {
obj.attributes.removeNamedItem('class');
}
}
自定义一个toggleClass函数
我们可以基于 addClass()方法 、hasClass()方法、removeClass()方法 这三个方法创建一个toggleClass()的方法 用于切换一个元素的class名 这样非常方便!
巴拉巴拉巴拉…😝😝😝
/**
* @param obj object
* @param ClassName string
*/
function toggleClass(obj, ClassName) {
if (hasClass(obj, ClassName)) {
removeClass(obj, ClassName);
} else {
addClass(obj, ClassName);
}
}
把这些函数全部放到一个单独的js文件当中,使用时,引入一下就可以了!

举个梨子




"👍点赞" "✍️评论" "收藏❤️"欢迎一起交流学习❤️❤️💛💛💚💚

好玩 好用 好看的干货教程可以点击下方关注❤️微信公众号❤️
说不定有意料之外的收获哦..🤗嘿嘿嘿、嘻嘻嘻🤗!
🌽🍓🍎🍍🍉🍇

文章介绍了如何使用JavaScript自定义函数来操作DOM元素的class。包括检查元素是否已包含特定class的hasClass函数,添加class的addClass函数,移除class的removeClass函数,以及切换class的toggleClass函数。这些函数有助于更高效地管理元素样式。
1004

被折叠的 条评论
为什么被折叠?



