0

私は、DOM でタブベースの構造を構築する Ajax リクエストを多用する Web サイトに取り組んでいます。私の懸念は、DOM が非常に多くのタブと要素を蓄積し、最終的に JQuery セレクターのパフォーマンスが低下することです。

大きなDOMを維持する方法はありますが、JQueryに特定のセクションを除外する「ヒント」を提供します. たとえば、要素を DOM に維持したいのですが、JQuery セレクターのみをアクティブなタブに適用したいと考えています。

非アクティブなセクションに動的に適用できるある種の「無視」タグがあることを望んでいました

おそらく、非アクティブなタブ要素をデータ ディクショナリに格納し、それらがフォーカスされたときに DOM の内外に移動することも代替手段です。

4

4 に答える 4

1

メソッドを使用できますcontext

最初に jQuery() に渡された DOM ノード コンテキスト。何も渡されなかった場合、コンテキストはドキュメントになる可能性があります。

http://api.jquery.com/context/

于 2012-04-22T23:52:25.007 に答える
1

コメントで述べたように、セレクターの使用方法はコードによって異なります。しかし、巨大なセレクター リストになってしまった場合はfilter()、いつでも任意のルールでコレクションを作成できます。

$elements.filter(function(){
    return $(this).parent('.foo').length; // Only elements with parent `.foo`
});
于 2012-04-22T23:52:28.220 に答える
1

jqueryに必要なものを伝えるセレクターを提供するだけです。たとえば、各タブにid. 次に、タブ内のすべてのaタグを取得する場合:news

$("#news a")

jQuery は、 を調べることだけを認識します#news

id一般に、クエリは非常に効率的です。指定されidた .

于 2012-04-22T23:47:56.630 に答える
0

セレクターでは、コンテキストを 2 番目のパラメーターとして渡して、ドキュメントのどの部分を参照するかを jquery に伝えることができます。たとえば、var selectedItem = $('#listItem' + i, $('.myList'));これにより、検索するノードの量が減ります。参照: http://www.tvidesign.co.uk/blog/improve-your-jquery-25-excellent-tips.aspx#tip9

于 2012-04-22T23:49:38.877 に答える