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 相关文章推荐
Jquery 滑入滑出效果实现代码
Mar 27 Javascript
jquery对table中各数据的增加、保存、删除操作示例
May 14 Javascript
DOM基础教程之事件对象
Jan 20 Javascript
JavaScript是如何实现继承的(六种方式)
Mar 31 Javascript
javascript实现粘贴qq截图功能(clipboardData)
May 29 Javascript
文件上传插件SWFUpload的使用指南
Nov 29 Javascript
浅谈JS验证表单文本域输入空格的问题
Feb 14 Javascript
在百度搜索结果中去除掉一些网站的资料(通过js控制不让显示)
May 02 Javascript
详解基于angular-cli配置代理解决跨域请求问题
Jul 05 Javascript
JavaScript重复元素处理方法分析【统计个数、计算、去重复等】
Dec 14 Javascript
jquery分页插件pagination使用教程
Oct 23 jQuery
Vue在H5 项目中使用融云进行实时个人单聊通讯
Dec 14 Vue.js
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
超外差式晶体管收音机的组装与统调
2021/03/01 无线电
二十行语句实现从Excel到mysql的转化
2006/10/09 PHP
几种显示数据的方法的比较
2006/10/09 PHP
一段php加密解密的代码
2007/07/16 PHP
PHP浮点数精度问题汇总
2015/05/13 PHP
javascritp实现input输入框相关限制用法
2007/06/29 Javascript
js 加载时自动调整图片大小
2008/05/28 Javascript
基于jquery的气泡提示效果
2010/05/31 Javascript
基于jquery实现的省市区级联无ajax
2013/09/24 Javascript
js 3种归并操作的实例代码
2013/10/30 Javascript
js实现瀑布流的一种简单方法实例分享
2013/11/04 Javascript
javascript创建动态表单的方法
2015/07/25 Javascript
NodeJS实现阿里大鱼短信通知发送
2016/01/17 NodeJs
JavaScript将DOM事件处理程序封装为event.js 出现的低级错误问题
2016/08/03 Javascript
AngularJs Managing Service Dependencies详解
2016/09/02 Javascript
微信小程序 开发指南详解
2016/09/27 Javascript
vue jsx 使用指南及vue.js 使用jsx语法的方法
2017/11/11 Javascript
VUE + UEditor 单图片跨域上传功能的实现方法
2018/02/08 Javascript
vue中监听路由参数的变化及方法
2019/12/06 Javascript
微信小程序基于ColorUI构建皮皮虾短视频去水印组件
2020/11/04 Javascript
js用正则表达式筛选年月日的实例方法
2021/01/04 Javascript
[01:25:33]完美世界DOTA2联赛PWL S3 INK ICE vs Magma 第二场 12.20
2020/12/23 DOTA
python 检查是否为中文字符串的方法
2018/12/28 Python
如何使用python把ppt转换成pdf
2019/06/29 Python
python二分法查找算法实现方法【递归与非递归】
2019/12/06 Python
python、PyTorch图像读取与numpy转换实例
2020/01/13 Python
纯CSS3实现滚动的齿轮动画效果
2014/06/05 HTML / CSS
同步和异步有何异同,在什么情况下分别使用他们?举例说明
2014/02/27 面试题
毕业生的自我鉴定
2013/10/29 职场文书
大学生优秀团员事迹材料
2014/01/30 职场文书
房屋买卖委托公证书
2014/04/08 职场文书
项目申报专员岗位职责
2014/07/09 职场文书
教师职业道德事迹材料
2014/08/18 职场文书
环境工程专业毕业生求职信
2014/09/30 职场文书
业务员岗位职责
2015/02/03 职场文书
python四种出行路线规划的实现
2021/06/23 Python