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
转载:https://blog.csdn.net/hesterrocks/article/details/64443017
详见:http://www.365mini.com/page/jquery-is.htm