jQuery ソース コード分析 jQuery.fn.each および jQuery.each use_jquery
この記事の例では、jQuery ソース コード分析における jQuery.fn.each と jQuery.each の使用法について説明します。皆さんの参考に共有してください。具体的な分析は次のとおりです。
次のコードの機能は、選択した各 div 要素に赤いクラスを追加することです。
$(this).addClass('red');
}
});
上記で使用されている .each は jQuery.fn.each で、jQuery.each を通じて内部的に実装されています
まずは公式の API 説明を載せておきます。注意点は 2 つだけです。
上の例の $(this).addClass('red') は、現在操作されている dom 要素を指します
それぞれに渡されるメソッドは任意の値を返すことができ、戻り値が false の場合は、現在のループ操作から抜け出します。
* @description jQuery オブジェクト内の一致する dom 要素ごとにメソッドを実行します
* @param {Number} インデックス コレクション内の現在処理されている要素の位置
* @param {DOMElement} 要素 現在処理されている dom 要素
*/
.
.each( function(index, Element) )
例 1:
ページ上のすべての div 要素に red クラスを追加します
$(this).addClass('red');
}
});
ページの最初の 5 つの div 要素に red クラスを追加します
If(index>=5) return false // ループから抜け出します
$(this).addClass('red');
}
});
をご覧ください。 内部ソース コードは jQuery.each を通じて実装されます。jQuery.each のソース コードについて話した後、jQuery.fn.each のソース コードは非常に単純です。
jQuery.each:
}
});
0:52-52
1
1:97-97
注意点も2つあります
上記の例では、これはコレクション内の要素、つまり次の valueOfElement
ループを抜け出すにはコールバックで false を返します
* @description コレクション内の各要素 (配列またはオブジェクト) に対して操作を実行します
* @param {Number|String} indexInArray コレクション内の要素の対応する位置 (コレクションが配列の場合は数値、コレクションがオブジェクトの場合はキー値)
* @param {AnyValue} valueOfElement コレクション
内の要素
*/
j
jQuery.each( collection, callback(indexInArray, valueOfElement) )
例 1
If(index >= 2) return false;
alert( "インデックス:" インデックス ", 値: " 値 );
}
});
例 2
サンプルは公式 Web サイトから直接コピーしたものなので、そのまま使用してください
alert( "キー: " k "、値: " v );
}
});
ソースコード:
え
各: function( obj, callback, args ) {
var 値、
i = 0,
長さ = obj.length,
isArray = isArraylike( obj ); // obj は、実際に jQuery オブジェクトを提供する、{'0':'hello', '1':'world', 'length':2} などの配列のようなオブジェクトです
If ( args ) { // args、実際にはこのパラメータの実際の効果は見つかりませんでした~~ スキップしてelseの内容を見てください。コールバックで渡されるパラメータが異なること以外に違いはありません。
if ( isArray ) {
for ( ; i value = callback.apply( obj[ i ], args );
If ( value === false ) {
休憩;
}
}
} else {
for ( i in obj ) {
value = callback.apply( obj[ i ], args );
If ( value === false ) {
休憩;
}
}
}
// それぞれの最も一般的な使用のための、特別で高速なケース
} else {
if ( isArray ) { RM for ( ; i value = callback.call( obj[ i ], i, obj[ i ] );
If ( value === false ) {
休憩;
}
}
} Else {// 処理オブジェクト
for ( i in obj ) {
value = callback.call( obj[ i ], i, obj[ i ] ) // value はコールバック
の戻り値です。 If (value === false) {// ここで、value === false の場合、サイクルから直接ジャンプすることに注意してください
休憩;
}
}
}
}
obj を返します;
}
}、
最新の jQuery.fn.each ソース コード:
jQuery.each を理解していれば、特に話すことはありません。
return jQuery.each( this, callback, args );
}
}、
結論
jQuery.extend および jQuery.fn.extend と同様に、jQuery.each および jQuery.fn.each のコードは非常に単純ですが、これら 2 つのメソッドも jQuery で広く使用されています。例:
Class2type[ "[object " name "]" ] = name.toLowerCase();
}
});
さあ、それぞれをマスターしましょう!
この記事が皆さんの jQuery プログラミングに役立つことを願っています。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









MySQL の ISNULL() 関数は、指定された式またはカラムが NULL かどうかを判断するために使用される関数です。ブール値、式が NULL の場合は 1、それ以外の場合は 0 を返します。 ISNULL()関数は、SELECT文やWHERE句の条件判定に使用できます。 1. ISNULL() 関数の基本構文: ISNULL(expression) ここで、expression は、NULL かどうかを判断する式です。

タイトル: jQuery ヒント: ページ上のすべての a タグのテキストをすばやく変更する Web 開発では、ページ上の要素を変更したり操作したりする必要がよくあります。 jQuery を使用する場合、ページ内のすべての a タグのテキスト コンテンツを一度に変更する必要がある場合があります。これにより、時間と労力を節約できます。以下では、jQuery を使用してページ上のすべての a タグのテキストをすばやく変更する方法と、具体的なコード例を紹介します。まず、jQuery ライブラリ ファイルを導入し、次のコードがページに導入されていることを確認する必要があります: <

PHPコードのソースコードを解釈・実行せずにブラウザ上に表示するにはどうすればよいでしょうか? PHP は、動的 Web ページの開発に一般的に使用されるサーバー側スクリプト言語です。サーバー上で PHP ファイルが要求されると、サーバーはそのファイル内の PHP コードを解釈して実行し、最終的な HTML コンテンツを表示のためにブラウザーに送信します。ただし、PHP ファイルのソース コードを実行するのではなく、ブラウザーに直接表示したい場合があります。この記事では、PHPコードのソースコードを解釈・実行せずにブラウザ上に表示する方法を紹介します。 PHPでは、次のように使用できます

タイトル: DreamWeaver CMS のセカンダリディレクトリを開けない原因と解決策の分析 Dreamweaver CMS (DedeCMS) は、さまざまな Web サイトの構築に広く使用されている強力なオープンソースのコンテンツ管理システムです。ただし、Web サイトの構築中に、セカンダリ ディレクトリを開けない状況が発生し、Web サイトの通常の動作に問題が発生することがあります。この記事では、セカンダリ ディレクトリを開けない考えられる理由を分析し、この問題を解決するための具体的なコード例を示します。 1. 考えられる原因分析: 疑似静的ルール構成の問題: 使用中

タイトル: jQuery を使用して、すべての a タグのテキスト コンテンツを変更します。 jQuery は、DOM 操作を処理するために広く使用されている人気のある JavaScript ライブラリです。 Web 開発では、ページ上のリンク タグ (タグ) のテキスト コンテンツを変更する必要が生じることがよくあります。この記事では、この目標を達成するために jQuery を使用する方法を説明し、具体的なコード例を示します。まず、jQuery ライブラリをページに導入する必要があります。 HTML ファイルに次のコードを追加します。

jQuery 要素に特定の属性があるかどうかを確認するにはどうすればよいですか? jQuery を使用して DOM 要素を操作する場合、要素に特定の属性があるかどうかを判断する必要がある状況がよく発生します。この場合、jQuery が提供するメソッドを使用してこの関数を簡単に実装できます。以下では、jQuery 要素が特定の属性を持つかどうかを判断するために一般的に使用される 2 つの方法を紹介し、具体的なコード例を添付します。方法 1: attr() メソッドと typeof 演算子 // を使用して、要素に特定の属性があるかどうかを判断します

PHP での POST リクエストの使用は、Web サイト開発における一般的な操作であり、フォーム データ、ユーザー情報などのデータは、POST リクエストを通じてサーバーに送信できます。 POST リクエストを適切に使用すると、データのセキュリティと正確性を確保できます。以下では、PHP での POST リクエストの正しい使用法を紹介し、具体的なコード例を示します。 1. PHP における POST リクエストの基本原則 PHP では、POST メソッドを通じて送信されたデータは、$_POST グローバル変数を使用して取得できます。 POST メソッドはフォーム番号を次のように変換します。

タイトル: テンセントの主要なプログラミング言語は Go ですか: 詳細な分析 中国の大手テクノロジー企業として、テンセントはプログラミング言語の選択において常に多くの注目を集めてきました。近年、テンセントは主に Go を主要なプログラミング言語として採用していると考える人もいます。この記事では、Tencent の主要なプログラミング言語が Go であるかどうかについて詳細な分析を行い、この見解を裏付ける具体的なコード例を示します。 1. Tencent における Go 言語の適用 Go は、Google によって開発されたオープンソースのプログラミング言語であり、その効率性、同時実行性、シンプルさにより多くの開発者に愛されています。
