jQuery源碼解讀之removeClass()方法分析
本文較為詳細(xì)的分析了jQuery源碼解讀之removeClass()方法。分享給大家供大家參考。具體分析如下:
removeClass()方法和addClass()差別不大。這就來(lái)看看:
removeClass: function( value ) {
var classes, elem, cur, clazz, j, finalValue,
i = 0,
len = this.length,
proceed = arguments.length === 0 || typeof value === "string" && value;
if ( jQuery.isFunction( value ) ) {
return this.each(function( j ) {
//這里就是根據(jù)你傳遞的移除類名的函數(shù)返回的類名,再次調(diào)用removeClass自身了。
jQuery( this ).removeClass( value.call( this, j, this.className ) );
});
}
if ( proceed ) {
classes = ( value || "" ).match( rnotwhite ) || [];
for ( ; i < len; i++ ) {
elem = this[ i ];
cur = elem.nodeType === 1 && ( elem.className ?
( " " + elem.className + " " ).replace( rclass, " " ) :
""
);
if ( cur ) {
j = 0;
while ( (clazz = classes[j++]) ) {
//區(qū)別在下面的while循環(huán),當(dāng)檢索到當(dāng)前DOM元素包含你要移除的類名,會(huì)用replace替換成" "
while ( cur.indexOf( " " + clazz + " " ) >= 0 ) {
cur = cur.replace( " " + clazz + " ", " " );
}
}
//下面也是關(guān)鍵區(qū)別之一,判斷你是否傳遞了要移除的類名value。如果沒(méi)有傳遞,則finalValue="",如果此時(shí)DOM元素有類名的話,也就是條件為true,移除DOM元素的所有類名;
//如果傳遞了,則移除匹配的類名,移除后,沒(méi)有移除的類名拼接成了cur,去掉左右兩端的空格字符串,將DOM元素的類名設(shè)置成cur。
finalValue = value ? jQuery.trim( cur ) : "";
if ( elem.className !== finalValue ) {
elem.className = finalValue;
}
}
}
}
return this;
}
});
希望本文所述對(duì)大家的jQuery程序設(shè)計(jì)有所幫助。
- 使用JS實(shí)現(xiàn)jQuery的addClass, removeClass, hasClass函數(shù)功能
- jQuery使用addClass()方法給元素添加多個(gè)class樣式
- jQuery中addClass()方法用法實(shí)例
- Jquery.addClass始終無(wú)效原因分析
- jQuery源碼解讀之a(chǎn)ddClass()方法分析
- jQuery中removeClass()方法用法實(shí)例
- jQuery使用removeClass方法刪除元素指定Class的方法
- jQuery中toggleClass()方法用法實(shí)例
- jQuery使用toggleClass方法動(dòng)態(tài)添加刪除Class樣式的方法
- 用jQuery toggleClass 實(shí)現(xiàn)鼠標(biāo)移上變色
- JQuery使用屬性addClass、removeClass和toggleClass實(shí)現(xiàn)增加和刪除類操作示例
相關(guān)文章
jQuery實(shí)現(xiàn)select下拉框獲取當(dāng)前選中文本、值、索引
本篇文章主要介紹了jQuery實(shí)現(xiàn)select下拉框獲取當(dāng)前選中文本、值、索引以及添加/刪除Select的Option項(xiàng)的相關(guān)知識(shí),具有很好的參考價(jià)值。下面跟著小編一起來(lái)看下吧2017-05-053種不同的ContextMenu右鍵菜單實(shí)現(xiàn)代碼
本文給大家分享3種不同的ContextMenu右鍵菜單實(shí)現(xiàn)代碼的相關(guān)資料,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2016-11-11jQuery實(shí)現(xiàn)圖片放大預(yù)覽實(shí)現(xiàn)原理及代碼
jQuery實(shí)現(xiàn)圖片放大原理很簡(jiǎn)單,就是將圖片顯示的尺寸變大后放在瀏覽器的一個(gè)指定位置,從而實(shí)現(xiàn)圖片的放大預(yù)覽,下面有個(gè)不錯(cuò)的示例,感興趣的朋友可以參考下2013-09-09JavaScript自動(dòng)生成 年月范圍 選擇功能完整示例【基于jQuery插件】
這篇文章主要介紹了JavaScript自動(dòng)生成 年月范圍 選擇功能,結(jié)合完整實(shí)例形式分析了基于jQuery插件的日期年月范圍自動(dòng)生成與選擇功能相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2019-09-09解決JQeury顯示內(nèi)容沒(méi)有邊距內(nèi)容緊挨著瀏覽器邊線
JQuery頁(yè)面顯示的內(nèi)容沒(méi)有邊距,內(nèi)容緊挨著瀏覽器邊線,下面有個(gè)不錯(cuò)的解決方法,大家可以嘗試下2013-12-12基于jQuery實(shí)現(xiàn)返回頂部實(shí)例代碼
這篇文章主要介紹了基于jQuery實(shí)現(xiàn)返回頂部實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下2016-01-01基于jQuery實(shí)現(xiàn)表單提交驗(yàn)證
本文給大家分享的是一段基于jQuery的實(shí)現(xiàn)簡(jiǎn)單的表單提交驗(yàn)證的代碼,非常簡(jiǎn)單實(shí)用,推薦給有相同需求的小伙伴們參考下。2014-11-11