在jQuery中,我們可以使用兩種方法來檢查一個元素是否具有某些類名,,這兩種方法都具有相同的功能,。
.hasClass("className"):有關(guān).hasClass()方法可以查閱jQuery API——hasClass() 下面我們先來簡單看一下他們的用法 一、.hasClass()hasClass()方法是用來檢查被選擇的元素是否包含指定的class名,其語法: $(selector).hasClass("className");//其中class是必須的值,,規(guī)定需要在指定元素中查找的類名。hasClass()也可以同時寫多個class但他們之前用空格隔開,,如下: $(selector).hasClass("className1 className2");二,、.is() is()方法也是用來檢查被選擇的元素是否包含指定的class名,其用法為: $(selector).is(".className");同樣is()也可以有多個類名的寫法,,如: $(selector).is(".className,.className"); 有關(guān)于他們更詳細(xì)的用法,,大家可以查看這里:jQuery API——hasClass()、jQuery API——is(),。下面我們一起來看一個實(shí)例: 如果div元素有一個類名叫"bgRed",那么我們給其加上背景色為紅色,,如明沒有這個類名,我將背景色設(shè)置為藍(lán)色,,我們一起來看代碼: HTML Code: <div class="bgRed">有類名"bgRed"</div> <div>無類名“bgRed”</div> <div>無類名“bgRed”</div> <div class="bgRed">有類名"bgRed"</div> <p> <button id="isTest">is('.bgRed')</button> <button id="hasClassTest">hasClass('.bgRed')</button> <button id="reset">reset</button> </p>jQuery Code:
效果: 上面兩種方法最終效果都是一樣的,。但從性能的角度來說,hasClass()要比is()更快,,我們來做一個測試: 結(jié)果是:usingIs()用時3191.663ms,而usingHasClass()用時2362.523ms,。你也可以在 這里改變測試條件進(jìn)行測試。 最后在總結(jié)一下:
|
|