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

轉載:https://blog.csdn.net/hesterrocks/article/details/64443017
詳見:http://www.365mini.com/page/jquery-is.htm


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM