/ クラスを使用して送信ボタンを呼び出すと、絶対 ID セレクターを使用するよりもはるかに時間がかかります。
var main_button = $('#main .button'); >
8. jQuery チェーンを上手に活用する
jQuery チェーンを使用すると、強力な操作を簡潔に記述できるだけでなく、複数のコマンドをパッケージ セットに直接適用できるため、開発効率が向上します。梱包セットを再計算します。したがって、次のように記述する必要はなくなりました:
コードをコピーします
コードは次のとおりです:
説明: $('#shopping_cart_items input.text').css( 'border', '3px 破線黄色');
$('#shopping_cart_items input.text').css('background-color', 'red');
$('#shopping_cart_items input.text') ).val("text updated");
代わりに、jQuery チェーンを使用して簡単な操作を完了できます:
var input_text = $('#shopping_cart_items input.text');
input_text.css('border', '3px 破線) yellow') ;
input_text.css('background-color', 'red');
//チェーンと同じ:
var input_text = $('#shopping_cart_items input.text');
input_text
.css('border', '3px 破線黄色')
.css('background-color', 'red')
.val("text updated");
[html]
9. jQuery 関数を $(window).load イベントにバインドする
ほとんどの jQuery サンプルやチュートリアルでは、jQuery コードを次のようにバインドするように指示されています。 $(document).ready イベント。ほとんどの場合、$(document).ready イベントは問題ありませんが、その解析シーケンスは、ドキュメントの準備ができ、単一ドキュメント内の画像などのオブジェクトがダウンロードされるときに開始されます。したがって、$(document).ready イベントを使用しても、一部の視覚効果やアニメーション、ドラッグ、隠し画像の先読みなど、特定の時点で期待する結果が必ずしも得られるとは限りません。 .load イベント 目的のコードを実行する前に、ドキュメント全体の準備が整うまで待っても安全です。
[code]
$(window).load(function(){
// ページの準備が完了した後に実行するコードをここに記述します
10. jQuery チェーンを使用してセレクターを制限し、コードをより簡潔かつエレガントにします
JavaScript はチェーン構造と改行をサポートしているため、コードは次のように記述できます。まず、要素を上に移動します。クラスを 1 つ削除します。同じ要素に別のクラスを追加します:
コードをコピー
コードは次のとおりです: $('#shopping_cart_items input.in_stock')
.removeClass('in_stock') .addClass('3-5_days');
もっと簡単にしたい場合、チェーン構造をサポートする jQuery 関数を作成できます:
return $(this).removeClass('in_stock').addClass('3-5_days'); }
$('# shopping_cart_items input.in_stock').makeNotInStock().log();
11. コールバック関数を使用してエフェクトを同期する
イベントまたはアニメーション エフェクトが次々に呼び出されるようにする場合イベントが run の場合は、コールバック関数を使用する必要があります。これらのアニメーション効果の背後にコールバック関数をバインドできます: slideDown(speed, [callback] ) 例: $('#sliding').slideDown('slow', function(){… この例をプレビューするには、ここをクリックしてください。
div.button {background: #cfd ; マージン: 3px; テキスト整列: 中央; カーソル: 2px アウトセット;
display: none; }
$(document).ready(function(){
// jQuery のクリック イベントを使用して視覚効果を変更し、スライド効果を有効にします
$("div .button" ).click(function () {
//div.button が押されたときの効果のように見えます
$(this).css({ borderStyle:"inset",cursor:"wait" } );
//#sliding はアクションの完了後にフェードアウトし、フェードイン効果をオンにします
//完了するとスライドアップ
$('#sliding').slideDown('slow' , function(){
$('#sliding').slideUp('slow', function(){
//フェード効果が完了すると、ボタンの CSS プロパティが変更されます
$('div.button').css ({ borderStyle:"outset", カーソル:"auto" })
});
12 .カスタム セレクターの使用方法を学習します
jQuery を使用すると、コードをより簡潔にするために CSS セレクターに基づいてカスタム セレクターを定義できます:
コードをコピー
コードは次のとおりです:
$.expr[':'].mycustomselector= function(element,index,meta, stack){
// element- DOM 要素
// インデックス - 現在検索されているインデックスstack value
// メタ - セレクターに関するデータ要素
// スタック - すべての要素の反復処理に使用されるスタック
// 現在の要素が含まれている場合は true を返します
/ / no 現在の要素が含まれる場合は false を返します
};
// カスタム セレクターの適用:
$('.someClasses:test').doSomething(); >
以下の小さな例を見てみましょう。カスタム セレクターを使用して、「rel」属性を含む要素のセットをロックします。
$.expr[':'].withRel = function(element){
var $this = $(element );
/ /rel 属性が空でない要素のみを返します
return ($this.attr('rel') !=
}; ).ready(function( ){
//カスタム セレクターの使用は非常に簡単です。他のセレクターと同様に、要素のパッケージング セットを返します
//そのフォーマットを変更するなど、そのフォーマット メソッドを使用できます。 css スタイルは次のとおりです
$('a:withRel').css('background-color', 'green');
- ;a href=" #">rel なし
;/a>
リリースなし
rel="nofollow" href="#"> 🎜>
13. 画像のプリロード
通常、画像のプリロードには JavaScript を使用するのが良い方法です:
コードをコピー
コードは次のとおりです:
//画像リストをプリロードする関数を定義します (パラメータ付き)
jQuery.preloadImages = function(){
//画像を走査します
for(var i = 0; ijQuery("").attr("src", argument[i]); } } // 次のようにプリロード関数を使用できます $.preloadImages("images/logo.png", "images/logo-face.png", "images/mission.png") );
14. コードを十分にテストします
jQuery には QUnit と呼ばれる単体テスト フレームワークがあります。テストの作成は簡単なので、自信を持ってコードを変更し、期待どおりに動作することを確認できます。その仕組みは次のとおりです:
コードをコピー
コードは次のとおりです:
//
module("Module B");
test("some other test", function() {