ホームページ > ウェブフロントエンド > jsチュートリアル > jQueryソースコードのremoveClass()メソッドの解析解釈_jquery

jQueryソースコードのremoveClass()メソッドの解析解釈_jquery

WBOY
リリース: 2016-05-16 16:13:26
オリジナル
1377 人が閲覧しました

この記事では、jQuery ソース コード解釈のremoveClass() メソッドをより詳細に分析します。皆さんの参考に共有してください。具体的な分析は次のとおりです。

removeClass() メソッドは addClass() とあまり変わりません。見てみましょう:

コードをコピー コードは次のとおりです:
jQuery.fn.extend({
removeClass: function( value ) {
var クラス、elem、cur、clazz、j、finalValue、
i = 0、
len = this.length,
続行 = argument.length === 0 || 値の種類 === "文字列" && 値;
if ( jQuery.isFunction( value ) ) {
return this.each(function( j ) {
//ここに、クラス名を削除するために渡した関数によって返されたクラス名があり、removeClass 自体が再度呼び出されます。
jQuery( this ).removeClass( value.call( this, j, this.className ) );
});
}
if (続行) {
クラス = ( 値 || "" ).match( rnotwhite ) ||
for ( ; i elem = this[i];
Cur = elem.nodeType === 1 && ( elem.className ?
( " " elem.className " " ).replace( rclass, " " ) :
""
);
If ( cur ) {
j = 0;
While ((Clazz = クラス [J]) {
// 違いは、以下の while ループにあります。現在の DOM 要素が取得され、削除するクラス名が含まれている場合、replace を使用してそれを " "
に置き換えます。 While (Cur.indexof ("Clazz") & GT; = 0) {
Cur = cur.replace( " " clazz " ", " " );
} }
//以下も重要な違いの 1 つで、削除するクラス名の値を渡したかどうかを判断します。渡されない場合、finalValue=""、この時点で DOM 要素にクラス名がある場合、つまり条件が true の場合、DOM 要素のすべてのクラス名を削除します。 //渡された場合、一致するクラス名を削除します。削除後、削除されていないクラス名がcurに結合され、左右端のスペース文字列が削除され、DOM要素のクラス名がcur に設定します。
finalValue = 値 ? jQuery.trim( cur ) : "";
If ( elem.className !== FinalValue ) {
に }
}
}
}
これを返します;
}
});


この記事が皆さんの jQuery プログラミングに役立つことを願っています。
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート