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