5

querySelector()ユーザースクリプトでvs jQueryを使用する利点はあります$()か? ユーザースクリプトをサポートするすべての主要なブラウザでスクリプトが動作するようにしたいので、ブラウザ間の互換性に特に関心があります。

Honestbleeps の優れたReddit Enhancement Suiteには依存関係として jQuery が含まれていることに気付いたので、これについて疑問に思い始めましたが、ほとんどの場合querySelector()、DOM 操作のための要素やその他の基本的な JavaScript メソッドの選択に固執しています。

それは好みの問題ですか、それとも jQuery の使用を最小限に抑える理由はありますか?

4

2 に答える 2

4

querySelector()またはを使用する唯一の理由querySelectorAll()は、jQueryを使用していない場合です。jQueryセレクターは、高度なCSSセレクターよりも強力であり、ブラウザー間で一貫して実行される可能性が高くなります。

そうは言っても、jQueryを含めると、単純なスクリプトが不必要に複雑になる可能性があります。ほとんどのブラウザでスクリプトインジェクションが必要です。これにより、サンドボックスが無効になり、競合が発生する可能性があり、スクリプトがサードパーティのサーバーに依存するようになります。
これは、競合を最小限に抑えるjQueryを含めるためのクロスブラウザーの方法です。また、ブラウザがローカルのjQueryコピーをサポートしている場合、サードパーティのサーバーが常に稼働している必要はありません。

スクリプトが単純で、多くの労力をかけずにjQueryを回避できる場合は、を使用してquerySelector()ください。スクリプトは、99%以上の時間、スクリプト可能なすべてのブラウザで機能します。

スクリプトがとにかくjQueryをロードする場合は、最大のパワーと一貫性のためにjQueryセレクターを使用してください。

最も基本的なDOM操作以外の場合、jQueryは通常コストに見合う価値があることに注意してください。また、Firefox+GreasemonkeyまたはChrome+Tampermonkeyの場合、jQueryを使用してもほとんど問題はありませ@require

于 2013-02-09T01:03:44.603 に答える
1

querySelector は一部のブラウザ バージョンではサポートされていませんが、jQuery ではサポートされてい$()ます。

于 2013-02-09T00:24:23.843 に答える