JQuery is()与hasClass()方法的对比

is()和hasClass()方法都可以用以检查匹配的所有元素里是否含有指定类名,虽说hasClass(className)函数等价于is(“.className”) 但is()方法比hasClass()更好用更强大,参数中不但可以放入字符串,还可以放入函数。
hasClass()的语法:

$(selector).hasClass("className");

多个类名同时检查(元素必须同时存在多个类名):
$(selector).hasClass(“className className”);

example:

<li id="w1" class="page"> item1 </<li>
<li id="w2" class="page-arrow"> item2 </li>
<li id="w3" class="active"> item3 </li>
$("li").hasClass("page");              //true
$("li").hasClass("page active");       //ture
$("li").hasClass("page-arrow active");  //false

用此方法的返回值作为判断条件时应写作

if( $("li").hasClass("page") ) 或 if(!$("li").hasClass("page"))

is()的语法:
jQueryObject.is( expr )
函数实际上是判断当前jQuery对象所匹配的元素与指定表达式expr所表示的元素是否存在交集,如果存在交集就返回true,否则返回false。如果expr参数为字符串,则将其视作jQuery选择器,用以表示该选择器所匹配的元素。

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

使用is()方法检测上面的li元素里类名的话只要参数里包含其中一个类名都可返回true

$("li").is(".page");               //true
$("li").is(".page,.active");       //ture
$("li").is(".page-arrow,.active"); //true
$("#w1").is("li");         //true
$("#w1").is("ul li");      //true
$("#w2").is("div li");     //false

详见:http://www.365mini.com/page/jquery-is.htm

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值