.hasClass("className"):有关.hasClass()方法可以查阅jQuery API——hasClass()

.is(".className"):有关.is()方法可以查阅jQuery API——is()

下面我们先来简单看一下他们的用法

一、.hasClass()

hasClass()方法是用来检查被选择的元素是否包含指定的class名,其语法:

$(selector).hasClass("className");//其中class是必须的值,规定需要在指定元素中查找的类名。 hasClass()也可以同时写多个class但他们之前用空格隔开,如下:

$(selector).hasClass("className1 className2");

二、.is()

is()方法也是用来检查被选择的元素是否包含指定的class名,其用法为:

$(selector).is(".className"); 同样is()也可以有多个类名的写法,如:

$(selector).is(".className,.className");

如果div元素有一个类名叫"bgRed",那么我们给其加上背景色为红色,如明没有这个类名,我将背景色设置为蓝色,我们一起来看代码:

HTML Code:

有类名"bgRed"
无类名“bgRed”
无类名“bgRed”
有类名"bgRed"

is('.bgRed')

hasClass('.bgRed')

reset

jQuery Code:

//.is()

$("#isTest").click(function(){

var $divTest = $(".demoTest div");

$divTest.each(function(){

if($(this).is(".bgRed")){

$(this).css("background-color","red");

} else {

$(this).css("background-color","blue");

}

});

});

//.hasClass()

$("#hasClassTest").click(function(){

var $divTest = $(".demoTest div");

$divTest.each(function(){

if($(this).hasClass("bgRed")){

$(this).css("background-color","red");

} else {

$(this).css("background-color","blue");

}

});

});

//reset

$("#reset").click(function(){

location.reload();

});

效果:

上面两种方法最终效果都是一样的。但从性能的角度来说,hasClass()要比is()更快,我们来做一个测试:

function usingIs(){

for(var i=0; i<10000;i++){

$("div#testDiv").is(".test");

}

}

function usingHasClass(){

for(var i=0; i<10000;i++){

$("div#testDiv").hasClass("test");

}

}

usingIs();

usingHasClass(); 结果是:usingIs()用时3191.663ms,而usingHasClass()用时2362.523ms。你也可以在

这里改变测试条件进行测试。

最后在总结一下:

虽然.is()和.hasClass()两种方法都能用来检查一个元素是否具有某些特定的类名,但性能上来说,.hasClass()方法要更强,所以在实际运用中我们可以尽量使用.hasClass()方法来检查一个元素是否具有某些特定的类名。换句简单的话说:.is()和.hasClass()功能一样,但.hasClass()性能方面强于.is()。

李南江php,jQuery中is和hasClass的用法相关推荐

  1. JQuery中is和hasClass的用法

    在jQuery中,我们可以使用两种方法来检查一个元素是否具有某些类名,这两种方法都具有相同的功能. .hasClass("className"):有关.hasClass()方法可以 ...

  2. jquery中this与$(this)的用法区别.

    2019独角兽企业重金招聘Python工程师标准>>> jquery中this与$(this)的用法区别.先看以下代码: $("#textbox").hover( ...

  3. 关于Jquery中ajax方法data参数用法的总结

    关于Jquery中ajax方法data参数用法的总结 jquery手册描述: 示例: $.ajax({type: "POST",url: "some.php", ...

  4. jquery ajax实例get,jQuery中ajax的get()方法用法实例

    本文实例讲述了jQuery中ajax的get()方法用法.分享给大家供大家参考.具体分析如下: $.get()通过 HTTP GET请求从服务器上请求数据. 语法结构: $.get(url, [dat ...

  5. 关于jQuery中end()的定义和用法

    end()定义和用法 end() 方法结束当前链条中的最近的筛选操作,并将匹配元素集还原为之前的状态. 以上是官方说法,比较难理解. 还是用一个例子来说明 <!DOCTYPE html> ...

  6. jQuery中end()的定义和用法介绍。

    定义和用法 end() 方法结束当前链条中的最近的筛选操作,并将匹配元素集还原为之前的状态. 以上是官方说法,比较难理解. 还是用一个例子来说明 <!DOCTYPE html> <h ...

  7. jQuery中的end()定义和用法

    转自:微点阅读  https://www.weidianyuedu.com/content/3717161151945.html 定义和用法 end() 方法结束当前链条中的最近的筛选操作,并将匹配元 ...

  8. jQuery中queue和dequeue的用法

    jQuery中的queue和dequeue是一组很有用的方法,他们对于一系列需要按次序运行的函数特别有用.特别animate动画,ajax,以及timeout等需要一定时间的函数 queue和dequ ...

  9. jquery中unbind和bind的用法

    JQuery中bind和unbind函数 2017-09-13  Hierj937v...  转自 闫志飞166 修改 微信分享: 测试: 页面代码: <body>    <inpu ...

最新文章

  1. 计算机管理器中没有停止共享,域客户端默认共享关闭讨论.
  2. 对人工智能问题的提问
  3. Kaggle-MNIST之路
  4. [core]-ARM Core的分类和总结
  5. java datainputstream_Java DataInputStream readUnsignedByte()方法
  6. C语言重复加一个数的所有位数字的算法(附完整源码)
  7. 计算机怎么删除表格,电脑中删除Excel2010表格多余图片的三种方法
  8. InterruptedException和中断线程的说明
  9. 复习---使用基础语法实现栈及迭代
  10. 现代ups电源及电路图集_不间断电源维修,服务靠谱
  11. 《IT项目管理那些事儿》——新浪微博抽奖活动
  12. 冒泡法排序c语言代码大全,C语言实现选择排序、冒泡排序和快速排序的代码示例...
  13. 地理信息系统(GIS)与数字地球
  14. 安全好用的智能头盔,自带灯光提示与语音功能,力沃BH51M Neo体验
  15. 自学考试计算机实践课,河南大学自学考试计算机实践课考试须知
  16. 计算机电源接口在哪,电脑电源接口定义图解
  17. AliOSS上传图片
  18. php yii2.0框架下载,yii2.0下载|yii2.0(php框架) v2.0.10官方版 附安装教程 - 121下载站...
  19. jQuery如何根据元素值删除数组元素
  20. 摊上事儿的网易邮箱和安全圈的那些“防御机制”

热门文章

  1. 一种自动化运维架构的概述
  2. A2DP连接在安卓系统中的实现
  3. LNMP架构搭建(一键部署)
  4. 【打假】★撕破港行脸皮-三星官方查验手机真实销售地区★
  5. 人工神经网络的优化方法,神经网络的优化算法
  6. 【原理】Flink如何巧用WaterMark机制解决乱序问题
  7. S5P4418裸机开发(二):LED点灯
  8. python商城购物系统
  9. WebRTC -- Mesh、MCU、SFU架构
  10. 关于构建校园能源管理平台的研究进展