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 相关文章推荐
用js查找法实现当前栏目的高亮显示的代码
Nov 24 Javascript
获取css样式表内样式的js函数currentStyle(IE),defaultView(FF)
Feb 14 Javascript
JavaScript取得鼠标绝对位置程序代码介绍
Sep 16 Javascript
JS对象转换为Jquery对象实现代码
Dec 29 Javascript
浅谈JavaScript前端开发的MVC结构与MVVM结构
Jun 03 Javascript
关于Javascript回调函数的一个妙用
Aug 29 Javascript
一步一步封装自己的HtmlHelper组件BootstrapHelper(三)
Sep 14 Javascript
Angular实现svg和png图片下载实现
May 05 Javascript
js逆向解密之网络爬虫
May 30 Javascript
Kettle中使用JavaScrip调用jar包对文件内容进行MD5加密的操作方法
Sep 04 Javascript
JavaScript 与 TypeScript之间的联系
Nov 27 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
php引用返回与取消引用的详解
2013/06/08 PHP
php生成RSS订阅的方法
2015/02/13 PHP
Zend Framework连接Mysql数据库实例分析
2016/03/19 PHP
php中html_entity_decode实现HTML实体转义
2018/06/13 PHP
js类型检查实现代码
2010/10/29 Javascript
jquery EasyUI的formatter格式化函数代码
2011/01/12 Javascript
JS实现的一个简单的Autocomplete自动完成例子
2014/04/16 Javascript
Javascript实现简单的富文本编辑器附演示
2014/06/16 Javascript
浅谈页面装载js及性能分析方法
2014/12/09 Javascript
jQuery Ajax使用实例
2015/04/16 Javascript
微信小程序 wx.request(接口调用方式)详解及实例
2016/11/23 Javascript
vue.js学习之递归组件
2016/12/13 Javascript
VUE多层路由嵌套实现代码
2017/05/15 Javascript
JS常见构造模式实例对比分析
2018/08/27 Javascript
微信小程序显示倒计时功能示例【测试可用】
2018/12/03 Javascript
微信小程序事件对象中e.target和e.currentTarget的区别详解
2019/05/08 Javascript
[01:05:40]VG vs Newbee 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
从零学python系列之教你如何根据图片生成字符画
2014/05/23 Python
Python中SOAP项目的介绍及其在web开发中的应用
2015/04/14 Python
python中numpy.zeros(np.zeros)的使用方法
2017/11/07 Python
Python中用psycopg2模块操作PostgreSQL方法
2017/11/28 Python
python批量查询、汉字去重处理CSV文件
2018/05/31 Python
Python实现调用另一个路径下py文件中的函数方法总结
2018/06/07 Python
python 矢量数据转栅格数据代码实例
2019/09/30 Python
Python上下文管理器用法及实例解析
2019/11/11 Python
css3制作动态进度条以及附加jQuery百分比数字显示
2012/12/13 HTML / CSS
联想西班牙官网:Lenovo西班牙
2018/08/28 全球购物
美国领先的机场停车聚合商:Airport Parking Reservations
2020/02/28 全球购物
计算机售后服务承诺书
2014/05/30 职场文书
2014年个人售房协议书
2014/10/30 职场文书
工艺技术员岗位职责
2015/02/04 职场文书
2015年创先争优工作总结
2015/05/23 职场文书
入党介绍人考察意见
2015/06/01 职场文书
写好求职信的技巧解密
2019/05/14 职场文书
浅谈MySql整型索引和字符串索引失效或隐式转换问题
2021/11/20 MySQL
Python+Matplotlib图像上指定坐标的位置添加文本标签与注释
2022/04/11 Python