对css类名className的一些操作的函数

习惯了jQuery已经写好的针对class的操作,最近看书也看到了针对className的操作,但书上的没有仔细地针对各个情况进行处理,于是自己就动手写了,进行了初步的测试,暂没发现问题。如果有问题请留言

//清除结尾和开头处的空白符 if (!String.trim) {String.prototype.trim = function () {return this.replace(/^\s+|\s+$/g, '');}; }/*** 取得包含元素className的数组* @param {Node} element*/function getClassName(element) {if (!(element = $(element))) {return false;}return element.className.replace(/\s+/g, ' ').split(' ');}/*** 检察院苏中是否存在某个className* @param {Node} element* @param {String} className* @return {Boolean}*/function hasClassName(element, className) {if (!(element = $(element))) {return false;}var classes = getClassName(element);for (var i = 0; i < classes.length; i++) {//检测className是否匹配,如果是则返回trueif (classes[i] === className) {return true;}}return false;}/*** 为元素添加className* @param element* @param className* @return {Boolean}*/function addClassName(element, className) {if (!(element = $(element))) {return false;}//将className添加到当前className的末尾//如果没有className,则不包含空格element.className += (element.className ? ' ' : '') + className;return true;}/*** 删除一个或多个类名* @param element* @param className* @return {Boolean}*/function removeClassName(element, className) {if (!(element = $(element))) {return false;}className = (className || '').trim().replace(/\s+/g, ' ');if (className === '') {//未定义或者空的情况为删除所有类名element.className = '';} else if (className.indexOf(' ') !== -1) {//对多个以空格为分隔的类名进行处理,然后迭代var classarr = className.split(' ');for (var i = 0; i < classarr.length; i++) {arguments.callee(element, classarr[i]);}} else {//对单个类名的处理className = (' ' + className + ' ');elemClass = ' ' + element.className + ' ';if (elemClass.indexOf(className !== -1)) {element.className = elemClass.replace(className, ' ').replace(/\s+/g, ' ').trim();} else {return false;}}}/*** 切换类名* @param element* @param className*/function toggleClassName(element, className) {if (!hasClassName(element, className)) {addClassName(element, className);} else {removeClassName(element, className);}}

  

转载于:https://www.cnblogs.com/webFrontDev/archive/2012/12/02/2798458.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/494542.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

象棋人工智能的实现

为了实现人机对战功能&#xff0c;必须实现象棋的人工智能&#xff0c;将象棋的每个棋子都赋予一定的权重&#xff0c;每走一步都计算分值&#xff0c;选择得分最高的一步&#xff0c;这是象棋人工智能的基本思想。 #ifndef AI_H#define AI_H#include "cocos2d.h"USI…

我不藏了:7个技术体系、共100篇文章、总计1OO万字

&#x1f345; 作者主页&#xff1a;不吃西红柿 &#x1f345; 简介&#xff1a;CSDN博客专家、C站总榜第8&#x1f3c6;、HDZ核心组成员。欢迎点赞、收藏、评论 &#x1f345; 粉丝专属福利&#xff1a;知识体系、面试题库、技术互助、简历模板。文末公众号领取 &#x1f345…

车联网解决方案(PPT)

来源&#xff1a;智车科技未来智能实验室是人工智能学家与科学院相关机构联合成立的人工智能&#xff0c;互联网和脑科学交叉研究机构。未来智能实验室的主要工作包括&#xff1a;建立AI智能系统智商评测体系&#xff0c;开展世界人工智能智商评测&#xff1b;开展互联网&#…

程序员在群询问破解软件

刚回来看qq群里消息&#xff0c;这段让我笑爆了。 Q: 哪位有破解的汉化版zend studioA:哪个版本的?Q:哪个都行呢&#xff0c;能用就行A2:国内不是有个专门搞zend破解的嘛A:差远了Q:求共享个啊A:百度下会死么Q:就是百度了啊&#xff0c;找了好几个呢&#xff0c;都不是A:这个很…

刚入职场的菜鸟,这些大数据知识点,你必须掌握了!

一、Hadoop入门 1、常用端口号 hadoop3.x HDFS NameNode 内部通常端口&#xff1a;8020/9000/9820 HDFS NameNode 对用户的查询端口&#xff1a;9870 Yarn查看任务运行情况的&#xff1a;8088 历史服务器&#xff1a;19888 hadoop2.x HDFS NameNode 内部通常端口&#xf…

windows网络版象棋的实现

要构建网络版象棋&#xff0c;首先应该创建服务器与客户端&#xff0c;建立socket连接 1) 开局&#xff0c;你是什么颜色 2&#xff09;选择棋子&#xff0c; 3&#xff09;走棋 4&#xff09;悔棋&#xff08;悔棋悔两步&#xff09; 5&#xff09;认输 网络实现&#x…

Google发布“多巴胺”开源强化学习框架,三大特性全满足

&#xfeff;&#xfeff;编译整理 | Just编辑 | 阿司匹林来源&#xff1a;AI科技大本营强化学习是一种非常重要 AI 技术&#xff0c;它能使用奖励&#xff08;或惩罚&#xff09;来驱动智能体&#xff08;agents&#xff09;朝着特定目标前进&#xff0c;比如它训练的 AI 系统…

周鸿祎VS马化腾 360VS腾讯工资待遇盘点

周鸿祎VS马化腾 360VS腾讯工资待遇盘点 内容简介&#xff1a;这是一篇关于腾讯工资待遇,360 待遇,a的文章。像腾讯这样的公司有上百家&#xff0c;马化腾和张志东最大的期望&#xff0c;只要公司能生存下来就是胜利。 腾讯公司员工待遇 这是腾讯某员工在2007年春节后离开后写的…

5万成员丨CSDN 大数据领域网红社区!

一、社区愿景 社区地址&#xff1a;https://bbs.csdn.net/forums/ITID 我的梦想很大&#xff0c;大到致力于打造大数据领域第一社区&#xff0c;赋能中国技术社区蓬勃发展。 我的“格局”很小&#xff0c;小到每一篇优质文章&#xff0c;都会不吝啬加精&#xff0c;置顶。 …

坦克大战实现

先将常用的函数与头文件&#xff0c;宏定义等写到一个公共类中 #ifndef __Common_H__#define __Common_H__#include "cocos2d.h"#include "SimpleAudioEngine.h"#include "cocos-ext.h"USING_NS_CC;USING_NS_CC_EXT;#define winSize CCDirector:…

汽车传感器:自动驾驶“第一步”,新兴领域中国有望突围

来源&#xff1a;&#xff08;中金公司&#xff1a;黄乐平 &#xff09;摘要&#xff1a;从L3级量产车奥迪A8&#xff0c;到L4级量产巴士百度阿波龙&#xff0c;L3级自动驾驶已逐渐开始落地量产。位处产业链上游的汽车传感器行业最先感受到春意&#xff0c;各种技术路线争鸣&am…

3本实体书、10个csdn定制笔记本丨20211101期开奖

【社区福利-本周开奖】 社区地址&#xff1a;https://bbs.csdn.net/forums/ITID 「发帖、点赞、评论」可以赚取积分和奖品&#xff0c;希望大家多多捧场&#xff0c;把社区搞起来&#xff01; 一、根据「近7日」社区积分排名&#xff0c;送10个csdn定制笔记本。&#xff08;私…

怎么改变asp.net中.sln文件的默认生成路径

转自&#xff1a;http://zhidao.baidu.com/question/149657564.html 你新建解决方案就可以改 转载于:https://www.cnblogs.com/hellolong/articles/2801731.html

HttpClient实现客户端与服务器的通信

本篇主要讲解了利用HttpClient实现 windows主机与linux服务器的通信与传递数据 HttpClient代码&#xff0c;服务器端配置 系统和安装软件 1&#xff09;ubuntu 14.04 64位系统 2&#xff09;sudo apt-get install apache2 sqlite3 libsqlite3-dev 配置apache 支持cgi 配置…

腾讯阿里是否开始走向没落,用新互联网大脑模型分析

前言&#xff1a;虽然腾讯面临头条、抖音、陌陌、钉钉等新兴社交平台挑战&#xff0c;阿里面临海尔COSMOPlat&#xff0c;三一重工树根互联、美国GE Predix、德国西门子Mindsphere等工业互联网平台的挑战&#xff0c;但其核心优势依然存在&#xff0c;积累势能继续提高&#xf…

这5个超级经典SQL都不会,回去等通知吧

&#x1f345; 简介&#xff1a;CSDN博客专家&#x1f3c6;、信息技术智库公号作者✌ 简历模板、PPT模板、学习资料、面试题库、技术互助【关注我&#xff0c;都给你】 &#x1f345; 欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 一、每门课程问题 用一条 SQL 语句…

12.4scrum report

转载于:https://www.cnblogs.com/76er/archive/2012/12/04/2802336.html

markdown下编辑latex数学公式

在利用为知笔记编写笔记的时候&#xff0c;有时需要用的markdown&#xff0c;只要把文件名加上后缀.md,就可以使用markdown语法&#xff0c;以下介绍在markdown下编辑latex数学公式. 使用LaTeX写公式的基本语法 LaTeX 公式有两种&#xff0c;一种是用在正文中的&#xff0c;一…

从《2018年全球创新指数报告》看中国创新力!

作者&#xff1a;杨柯巍 张原编辑&#xff1a;煜 佳来源&#xff1a;中国电子信息产业发展研究院摘要&#xff1a;2018 年7 月10 日&#xff0c;世界知识产权组织&#xff08;WIPO&#xff09;、美国康奈尔大学和欧洲工商管理学院&#xff08;INSEAD&#xff09;共同发布《2018…

【每日SQL打卡】DAY 1丨部门工资最高的员工【难度中等】

活动介绍&#xff1a; 「数据仓库技术交流群」已经正式启动每日SQL打卡&#xff0c;帮助大家扎实基础&#xff0c;努力工作之余&#xff0c;别忘了自我提升。 欢迎报名和邀请小伙伴参与&#xff0c;一个人可能走得很快&#xff0c;但一群人会走得很远。 活动流程&#xff1a; 1…