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 相关文章推荐
javascript indexOf函数使用说明
Jul 03 Javascript
jquery ui dialog实现弹窗特效的思路及代码
Aug 03 Javascript
兼容所有浏览器的js复制插件Zero使用介绍
Mar 19 Javascript
纯javascript判断查询日期是否为有效日期
Aug 24 Javascript
JS简单随机数生成方法
Sep 05 Javascript
详解Javascript函数声明与递归调用
Oct 22 Javascript
JavaScript实现类似拉勾网的鼠标移入移出效果
Oct 27 Javascript
微信小程序 获取相册照片实例详解
Nov 16 Javascript
微信小程序 UI与容器组件总结
Feb 21 Javascript
webpack打包多页面的方法
Nov 30 Javascript
vue防止花括号{{}}闪烁v-text和v-html、v-cloak用法示例
Mar 13 Javascript
一文搞懂ES6中的Map和Set
May 20 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
探讨:web上存漏洞及原理分析、防范方法
2013/06/29 PHP
php开启openssl的方法
2014/05/15 PHP
PHP使用内置函数生成图片的方法详解
2016/05/09 PHP
thinkPHP中配置的读取与C方法详解
2016/12/05 PHP
PHP中创建和编辑Excel表格的方法
2018/09/13 PHP
PDO实现学生管理系统
2020/03/21 PHP
你所要知道JS(DHTML)中的一些技巧
2007/01/09 Javascript
jquery实现倒计时代码分享
2014/06/13 Javascript
Node.js中的流(Stream)介绍
2015/03/30 Javascript
如何改进javascript代码的性能
2015/04/02 Javascript
JS获取html元素的标记名实现方法
2016/10/08 Javascript
javascript简易画板开发
2020/04/12 Javascript
javascript性能优化之分时函数的介绍
2018/03/28 Javascript
Javascript的console['']常用输入方法汇总
2018/04/26 Javascript
vue-video-player 通过自定义按钮组件实现全屏切换效果【推荐】
2018/08/29 Javascript
js实现验证码干扰(静态)
2021/02/22 Javascript
[00:36]TI7不朽珍藏III——斯温不朽展示
2017/07/15 DOTA
python操作mongodb根据_id查询数据的实现方法
2015/05/20 Python
Eclipse和PyDev搭建完美Python开发环境教程(Windows篇)
2016/11/16 Python
python爬取足球直播吧五大联赛积分榜
2018/06/13 Python
33个Python爬虫项目实战(推荐)
2019/07/08 Python
python实现猜拳游戏项目
2020/11/30 Python
css3 transform属性详解
2014/09/30 HTML / CSS
巴西食品补充剂在线零售商:Músculos na Web
2017/08/07 全球购物
程序运行正确, 但退出时却"core dump"了,怎么回事
2014/02/19 面试题
什么是抽象
2015/12/13 面试题
幼儿园春游活动方案
2014/01/19 职场文书
五好党支部事迹材料
2014/02/06 职场文书
大学生2014全国两会学习心得体会
2014/03/10 职场文书
个人社会实践自我鉴定
2014/03/24 职场文书
农业项目投资意向书
2015/05/09 职场文书
2016春季幼儿园开学寄语
2015/12/03 职场文书
2016元旦主持人经典开场白台词
2015/12/03 职场文书
如何书写民事调解协议书?
2019/06/25 职场文书
详解盒子端CSS动画性能提升
2021/05/24 HTML / CSS
python实现局部图像放大
2021/11/17 Python