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 相关文章推荐
复制小说文本时出现的随机乱码的去除方法
Sep 07 Javascript
40个有创意的jQuery图片、内容滑动及弹出插件收藏集之一
Dec 31 Javascript
jquery 实现表单验证功能代码(简洁)
Jul 03 Javascript
改变隐藏的input中value的值代码
Dec 30 Javascript
JS控制一个DIV层在指定时间内消失的方法
Feb 17 Javascript
jQuery表格排序组件-tablesorter使用示例
May 26 Javascript
IE及IE6浏览器中判断JS文件加载成功失败的方法
Feb 18 Javascript
Bootstrap每天必学之进度条
Nov 30 Javascript
深入理解jQuery layui分页控件的使用
Aug 17 Javascript
JavaScript异步上传图片文件的实例代码
Jul 04 Javascript
JS简单实现数组去重的方法分析
Oct 14 Javascript
vue使用require.context实现动态注册路由
Dec 25 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
PHP脚本的10个技巧(2)
2006/10/09 PHP
php 无极分类(递归)实现代码
2010/01/05 PHP
PHP array 的加法操作代码
2010/07/24 PHP
ThinkPHP实现支付宝接口功能实例
2014/12/02 PHP
基础的WordPress插件制作教程
2015/11/24 PHP
php基于session锁防止阻塞请求的方法分析
2017/08/07 PHP
PHP基于面向对象封装的分页类示例
2019/03/15 PHP
PHP使用 Pear 进行安装和卸载包的方法详解
2019/07/08 PHP
cssQuery()的下载与使用方法
2007/01/12 Javascript
图片上传即时显示缩略图的js代码
2009/05/27 Javascript
js实现登陆遮罩效果的方法
2015/07/28 Javascript
原生JS实现旋转木马式图片轮播插件
2016/04/25 Javascript
Jquery跨域获得Json的简单实例
2016/05/18 Javascript
学习掌握JavaScript中this的使用技巧
2016/08/29 Javascript
详解Html a标签中href和onclick用法、区别、优先级别
2017/01/16 Javascript
ES6正则的扩展实例详解
2017/04/25 Javascript
如何使用angularJs
2017/05/08 Javascript
AngularJS 打开新的标签页实现代码
2017/09/07 Javascript
JavaScript生成指定范围随机数和随机序列的方法
2018/05/05 Javascript
Vue代码整洁之去重方法整理
2019/08/06 Javascript
js计算最大公约数和最小公倍数代码实例
2019/09/11 Javascript
Vue 实现把表单form数据 转化成json格式的数据
2019/10/29 Javascript
Python语言的变量认识及操作方法
2018/02/11 Python
pandas 获取季度,月度,年度首尾日期的方法
2018/04/11 Python
python traceback捕获并打印异常的方法
2018/08/31 Python
Python二进制文件读取并转换为浮点数详解
2019/06/25 Python
python词云库wordcloud的使用方法与实例详解
2020/02/17 Python
css3 自定义字体font-face使用介绍
2014/05/14 HTML / CSS
机电一体化职业规划书
2014/01/07 职场文书
意向书范文
2014/03/31 职场文书
施工协议书范本
2014/04/22 职场文书
乡镇党的群众路线教育实践活动个人整改方案
2014/10/31 职场文书
2019年汽车租赁合同范本!
2019/08/12 职场文书
导游词之昭君岛
2020/01/17 职场文书
教你如何使用Python下载B站视频的详细教程
2021/04/29 Python
MySQL系列之十五 MySQL常用配置和性能压力测试
2021/07/02 MySQL