問題タブ [jquery-context]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
347 参照

javascript - jQuery コンテキストが検索を遅くする

重複の可能性:
コンテキストを使用した jQuery セレクターのパフォーマンス

jQuery DOCSでは、それは言う

デフォルトでは、セレクターはドキュメント ルートから始まる DOM 内で検索を実行します。ただし、$() 関数のオプションの 2 番目のパラメーターを使用して、検索用の代替コンテキストを指定できます。

私の理解に基づいてcontext、2番目のパラメーターとして渡されたものを使用した選択は、渡されたものを使用しない同じ選択よりも高速である必要がありますcontext。ただし、いくつかのテストを実行しましたが、そうではないか、少なくともそうではないようですいつもそうではありません。

$("div1, #div2")詳しく説明すると、最初は、複数の要素を一度に検索する ( ) 方が、2 つの要素を個別に検索する ( ) よりも速いかどうかを確認したかったの$("#div1") $("div2")です。context次に、 を使用した場合と使用しない場合でテストして、を使用しcontextた場合のcontext速度を確認することにしました。

たとえば、次の基本的な HTML マークアップがあるとします。

そして、次の JavaScript (jQuery 1.8.2、および FireBug を使用してテスト済み)

ここにjsbinがあります

次のような結果が得られます

キャッシュなしの
個体: 11490ms $cache のある
個体: 13315ms DOM キャッシュのある個体: 14487ms

キャッシュなしの
複数: 7557ms $cache を使用した
複数: 7824ms DOM キャッシュを使用した複数: 8589ms

誰かが何が起こっているのかについて洞察を与えることができますか? 具体的には、jQuery コンテキストが渡されたときに検索が遅くなるのはなぜですか?

編集:

ここのアンサーのほとんど (およびcontext を使用した jQuery セレクターのパフォーマンス) は、基本的に、この例の DOM が小さすぎて実際に多くを得ることができないか、選択IDが高速になると言っています。私は両方の点を理解しています。私の質問の主なポイントは、なぜ検索がcontext 遅くDOMなるのかということです。

@pebbleが遅い理由は、jQuery がネイティブ ブラウザー メソッドを使用できないためであると示唆しました ( getElementByID)。

とにかく、クラスごとに検索するケースを追加してjsPerfにテストをダンプしましたが、今回もキャッシュを使用した複数のクラスの検索が最も高速であることに再び驚きました。

0 投票する
1 に答える
102 参照

jquery - jqueryバインドコンテキストの不一致

clickjQuery でハンドラーをバインドする HTML メニュー オプションがあります。

次の行に問題があります。

コンテキストの問題だと思います。つまり、bind 関数内では、もはやでthisxyzなく、('#menu_outcome_list') HTML 要素です。私がやりたいことはxyz、バインド関数内から 's メソッドを呼び出すことです。

0 投票する
3 に答える
1927 参照

jquery - datePicker を設定して、未来の日と考えるようにします

デフォルトでは、

オプションで、選択された最小の日付は今日から 4 日です。

date()今後、設定を変更することは可能ですか?

たとえば、2 番目の日付ピッカーがあり、2 番目の日付で、今日が前の日付ピッカー要素で設定された日付であると想定したいとします。それは05/03/2020

次の日付ピッカー入力をその日であるかのように{minDate: 4}設定する方法はありますか?

多分このようなもの:

おそらくもう少しよく説明されています:

デフォルトでは、日付ピッカーは今日が何であるかを認識し、カスタム オプション、つまり今日に関して {minDate:5} を適用します。前のフィールドで設定された日付が今日であると見なされるように、2 番目の日付ピッカーの今日を変更したいと思います。したがって、2020 年 5 月 3 日に設定すると、次の日付ピッカーの最小日付は 2020 年 5 月 8 日になります。

0 投票する
1 に答える
1411 参照

javascript - jquery を使用して div のすべてのコンテンツを取得したい

jquery を使用して div のすべてのコンテンツを取得したいと考えています。

しかし、jquery関数を使用すると

div タグのみを再実行し、html のみを意味し、戻りません<head></head> <body></body></html>

だから私は `var editor_data = $("#load_template_data").contents(); を使います。

しかし、この戻り値 [object Object] は、このdivからすべてのデータを取得したい.おそらく何かが欠けている.

0 投票する
3 に答える
166 参照

javascript - _self を使用して、常にオブジェクト コンテキストを使用できるようにする

_self常にオブジェクトにアクセスできるようにするための適切な方法は何ですか? 大丈夫_selfですか、それとも悪い習慣ですか?

myObject のコンテキストで呼び出されない関数からでも、myObject の属性とメソッドを取得する良い方法が必要です。.bind(this)、 using _self、および jQuery のなどのソリューションがあります$.proxy()

例えば:

0 投票する
1 に答える
43 参照

jquery - この jQuery コードのオフセット関数のコンテキストを説明してください

jQuery ウェイポイントを使用してクールな効果を設定しようとしています。しかし、私はjavascript/jQueryがあまり得意ではありません。私はPHPにもっと精通しています。

ウェイポイント コードは、ページのスクロールに基づいてトリガー イベントを提供します。以下のコードでは、「スティッキー」オプションを使用しました。これは、ウィンドウが特定のポイントを超えてスクロールしたときに、一致する要素のクラスを「スタック」に設定することになっています。

どうやら、'sticky' の後に、中かっこで囲まれたいくつかのオプションを渡すことができます。同じクラス ( ) を持つ他の要素に対する要素の相対的な位置に基づいてウェイポイントをトリガーする必要があり.example-basicます。最初の要素は 0 でトリガーされ (ウィンドウが要素の上部に達したとき)、2 番目の要素はウィンドウが要素の上部から N 離れたときにトリガーされます。N は前の要素の高さです。

私が見つけた大きな問題は、変数currentが -1 に設定されていることです。リスト内の順序を取得できません。私はそれoffset: functionが何であるかを知らないと思いthisます。どうすれば機能しますか?

編集: FULL SCRIPT (CSS、HTML、および javascript/jQuery を含む) (一部の繰り返し HTML を php エコー ループに置き換えました)

0 投票する
1 に答える
9112 参照

javascript - chartjs を使用した getContext エラー

このチュートリアルに従って[chart.js][1]いますが、このエラーとこの行が表示されます

$("#myChart")<figure id="myChart" class="chart"></figure>

このエラーをスローします

0 投票する
0 に答える
169 参照

javascript - jquery オブジェクトがコンテキストを変更するのはなぜですか?

mousedown イベントの 2 つの要素を比較していますが、コンテキスト プロパティのために false です。

これは私がマウスダウンで行うことです:

文脈が変わった理由は?