2

jQuery を作成する際に最も重要でありながら難しいのは、セレクターです。

正確なセレクターを作成するためのヒントを教えてください。

4

10 に答える 10

6

マニュアルをよく読んでください。

于 2009-10-09T14:44:39.547 に答える
5

これが私のヒントです...

これをブックマークに保存してください:

http://www.learningjquery.com/2006/11/how-to-get-anything-you-want-part-1

于 2009-10-09T14:43:20.987 に答える
5

セレクターのパフォーマンス テスト

はい、Chrome の 8 コアの良さでは、すべてが面倒です。しかし、私はクライアントのふりをして、900 mHz の IE6 マシンにアクセスしています (笑わないでください。これをテストするために、これらの 1 つを隣に置いています)。戻ります。

次のコードをいくつか変更しました: $('.class, .class2, .class3').show()

次のようなものに: array.push($(this)) ... $(array).show() そして、100倍高速化

于 2009-10-09T14:48:24.547 に答える
4

あなたの質問への直接的な答えではありませんが、パフォーマンスに関しては、セレクターが2番目に重要です。

最も重要なのは へのcontextパラメータです$()。指定しない場合、jQuery はデフォルトで に設定しdocumentます。これは、DOMツリー全体をトラバースしていることを意味します。コンテキストを指定すると、jQuery はその下のみをトラバースします。

$('whatever'); // scans the entire `document`
$('whatever', element); // scans only within element
于 2009-10-09T14:49:26.040 に答える
2

クラス デコレーターを使用して同様の要素を識別し、セレクターを簡単に記述できるようにします。

 <div class="clickable">.....</div>
 <a class="clickable">...</a>
 <span class="clickable">...</span>

 $('.clickable').click( function() { some common click action } );
于 2009-10-09T14:42:44.933 に答える
2

CSS の特異性に注意して、選択する要素が多すぎたり少なすぎたりしないようにしてください。

于 2009-10-09T14:46:14.007 に答える
1

SelectorGadgetを使用しました。HTML が複雑すぎなければ、かなりうまく機能します。

于 2009-10-09T14:58:15.577 に答える
1

jQuery に関する John Resig のプレゼンテーション、特に jQuery のパフォーマンスに関するプレゼンテーションをご覧ください。

重要なのは、jQuery がセレクターを左から右ではなく、右から左に処理することです。したがって、セレクターfoo barはすべての要素を選択し、最初にすべての要素を選択してからその要素ごとにすべての要素を選択するのではなく、祖先として要素barを持つ要素をフィルター処理します。この手法により、コストのかかるマージが回避されます。foofoobarfoo

したがって、最後のサブセレクターは最も表現力が高く、他のサブセレクターは表現力が低くてもかまいません。

于 2009-10-09T16:19:38.077 に答える
1

classとがid最も簡単に計画できますが、属性セレクターと jQuery の疑似疑似クラスにますます注目するようになりました。特に最近欠かせないのは:has():not(). 属性セレクターは、使用方法を知っていれば非常に便利ですが、できることはかなり限られています。セレクター エンジンでぜひ見たい改善点の 1 つは、 の否定:has()と の否定です[attribute]

于 2009-10-09T14:49:03.233 に答える
0

他のものと同様に、ライブラリを使用する前にその仕組みを理解してください。

于 2009-10-09T16:06:47.133 に答える