jQuery源码解读之hasClass()方法分析


Posted in Javascript onFebruary 20, 2015

本文较为详细的分析了jQuery源码解读之hasClass()方法。分享给大家供大家参考。具体分析如下:

jQuery.fn.extend({

    hasClass: function( selector ) {

//将要检查的类名selector赋值给className, l为选择器选择的当前要检查的jQuery对象数组的长度。

        var className = " " + selector + " ",

            i = 0,

            l = this.length;

//循环检查每一个DOM元素的类名

        for ( ; i < l; i++ ) {

//this[i].nodeType === 1,判断当前DOM节点的节点类型,1表示元素节点。

//this[i].className,获取当前DOM节点已经存在的类名。

//rclass = /[\t\r\n\f]/g,replace(rclass, " ")表示移除当前DOM节点类名里的制表符,换行符,回车符等。

//indexOf(className),开始在当前DOM节点的类名里检索是否有你要检查的类名className,如果>=0,表示存在,返回true,跳出函数。

            if ( this[i].nodeType === 1 && (" " + this[i].className + " ").replace(rclass, " ").indexOf( className ) >= 0 ) {

                return true;

            }

        }

//循环检查完了,发现每一个DOM元素里都没有找到你要检查的类名,则返回false,跳出函数。

//可见,只要你的jQuery对象数组里,发现有一个DOM元素的类名里包含你要查找的类名,则返回true,跳出函数。

        return false;

    }

});

希望本文所述对大家的jQuery程序设计有所帮助。

Javascript 相关文章推荐
JSON.parse 解析字符串出错的解决方法
Jul 08 Javascript
自制的文件上传JS控件可支持IE、chrome、firefox etc
Apr 18 Javascript
jQuery函数的第二个参数获取指定上下文中的DOM元素
May 19 Javascript
浅谈Unicode与JavaScript的发展史
Jan 19 Javascript
jquery实现动态操作select选中
Feb 11 Javascript
基于jQuery Bar Indicator 插件实现进度条展示效果
Sep 30 Javascript
Bootstrap每天必学之折叠(Collapse)插件
Apr 25 Javascript
AngularJS中的Promise详细介绍及实例代码
Dec 13 Javascript
Vuex之理解Getters的用法实例
Apr 19 Javascript
微信小程序利用swiper+css实现购物车商品删除功能
Mar 06 Javascript
vue踩坑记-在项目中安装依赖模块npm install报错
Apr 02 Javascript
小程序自定义导航栏兼容适配所有机型(附完整案例)
Apr 26 Javascript
jQuery源码解读之removeAttr()方法分析
Feb 20 #Javascript
JS实现5秒钟自动封锁div层的方法
Feb 20 #Javascript
js实现感应鼠标图片透明度变化的方法
Feb 20 #Javascript
js实现鼠标感应向下滑动隐藏菜单的方法
Feb 20 #Javascript
js实现鼠标滚轮控制图片缩放效果的方法
Feb 20 #Javascript
IE及IE6浏览器中判断JS文件加载成功失败的方法
Feb 18 #Javascript
使用JavaScript开发IE浏览器本地插件实例
Feb 18 #Javascript
You might like
PHPMailer安装方法及简单实例
2008/11/25 PHP
php实现递归抓取网页类实例
2015/04/03 PHP
php Session无效分析资料整理
2016/11/29 PHP
老生常谈PHP面向对象之标识映射
2017/06/21 PHP
PHP设计模式之注册树模式分析
2018/01/26 PHP
用Div仿showModalDialog模式菜单的效果的代码
2007/03/05 Javascript
web 页面分页打印的实现
2009/06/22 Javascript
枚举的实现求得1-1000所有出现1的数字并计算出现1的个数
2013/09/10 Javascript
jquery中ajax函数执行顺序问题之如何设置同步
2014/02/28 Javascript
javascript正则表达式使用replace()替换手机号的方法
2015/01/19 Javascript
jQuery插件ajaxFileUpload实现异步上传文件效果
2015/04/14 Javascript
JS实现可展开折叠层的鼠标拖曳效果
2015/10/09 Javascript
Jquery日历插件制作简单日历
2015/10/28 Javascript
javascript类型系统 Window对象学习笔记
2016/01/07 Javascript
js实现内容显示并使用json传输数据
2016/03/16 Javascript
jQuery实现图片局部放大镜效果
2016/03/17 Javascript
Web技术实现移动监测的介绍
2017/09/18 Javascript
vue elementui form表单验证的实现
2018/11/11 Javascript
使用Sonarqube扫描Javascript代码的示例
2018/12/26 Javascript
ES6 Set结构的应用实例分析
2019/06/26 Javascript
layui动态绑定事件的方法
2019/09/20 Javascript
Python使用Scrapy爬取妹子图
2015/05/28 Python
Python的Django框架可适配的各种数据库介绍
2015/07/15 Python
实例讲解Python编程中@property装饰器的用法
2016/06/20 Python
python网络编程之多线程同时接受和发送
2019/09/03 Python
Python内置方法实现字符串的秘钥加解密(推荐)
2019/12/09 Python
使用python实现CGI环境搭建过程解析
2020/04/28 Python
通过实例简单了解python yield使用方法
2020/08/06 Python
HR喜欢的自荐信格式
2013/10/08 职场文书
自荐信不宜过于夸大
2013/11/06 职场文书
竞聘演讲稿怎么写
2014/08/28 职场文书
公司新人试用期自我评价
2014/09/17 职场文书
医院保洁员岗位职责
2015/02/13 职场文书
幼儿教师辞职信
2015/02/27 职场文书
新闻稿件写作技巧
2015/07/18 职场文书
2019已经过半,你知道年中工作总结该怎么写吗?
2019/07/03 职场文书