ドキュメント化されていないすべての有用なjQueryのメソッドとプロパティを収集したいと思います(少なくとも現在のバージョン 1.9.0について)。
それらのいくつかは、特定の問題を解決するため、または JavaScript コードの評価を加速するために、非常に有望に見えます。
重要:ここにリストされている機能は文書化されていないため、注意して使用する必要があります。新しいバージョンの jQuery は、将来のリリースでこれらの機能をサポートしない可能性があります。
ドキュメント化されていないすべての有用なjQueryのメソッドとプロパティを収集したいと思います(少なくとも現在のバージョン 1.9.0について)。
それらのいくつかは、特定の問題を解決するため、または JavaScript コードの評価を加速するために、非常に有望に見えます。
重要:ここにリストされている機能は文書化されていないため、注意して使用する必要があります。新しいバージョンの jQuery は、将来のリリースでこれらの機能をサポートしない可能性があります。
アクティブなクエリの数を保持するためのカウンター
このプロパティは、実行中の Ajax リクエストの数を確認する必要がある場合に役立ちます。たとえば、次のコードを使用して、二重の Ajax リクエストを防ぐことができます。
$("button").on("click", function() {
if ($.active.length === 0) {
$.ajax({ ... });
}
});
破線をキャメルケースに変換
jQuery はcssおよびデータxxx-yyy-zzz
モジュールでこのメソッドを使用しますが、これを使用して文字列を次の形式に変換できますxxxYyyZzz
。
var str = $.camelCase("xxx-yyy-zzz"); // "xxxYyyZzz
このプロパティには、サポートされているすべてのイージング効果と、これらの効果を計算するための関数が含まれています。デフォルトでは、jQuery はエフェクトのみをサポートしますが、jQueryUI プロパティを含めるlinear
と、他のエフェクトで拡張されます。swing
$.easing
たとえば、バウンス効果がサポートされているかどうかは、次のコードで簡単に確認できます。
var bounceSupported = "easeInOutBounce" in $.easing;
DOM を使用する準備はできていますか? 発生したら true に設定します。
このプロパティは、何らかの理由でイベントを使用しない場合に、DOM が完全にロードされたかどうかを確認するフラグとして使用できます$(document).ready()
。これまでの簡単な例:
if (!$.isReady) {
$.error("DOM was not fully loaded yet");
}
準備完了イベントが発生する前に待機するアイテムの数を追跡するカウンター。
しかし、 と同じ以外の用途は見つかりませんでした$.isReady
。
DOM ノードの配列のテキスト値を取得するためのユーティリティ関数。
DOM ツリーからテキスト コンテンツを取得するための高速な方法。DOM 要素で動作するコードを高速化する必要がある場合に役立ちます。
$("div").on("click", function() {
console.log( $.text(this) );
});
このプロパティは、jQuery 要素のアニメーションのタイマーを保持します。代わりに、一度に実行されているアニメーション プロセスがあるかどうかをすばやく確認するために使用できます$(":animated").length
。
$("span").on("click", function() {
if ($.timers.length === 0) {
$(".flows, #spoiler, #par > p").fadeIn("slow");
}
});
この質問から良い使用例を 1 つ挙げることができます。
このメソッドは と同じように動作し、Array.push()
新しい DOM 要素を jQuery オブジェクトに追加します。と同じこと$a = $a.add($b)
:
var $a = $("#element1"),
$b = $("#element2");
$a.push($b[0]);