Javascriptは、ほとんどの場合、jQueryよりも高速です。これは、jQueryが(一般的に)他の方法ではネイティブであった可能性のある呼び出しの少なくとも1つの追加レイヤーを導入するという事実のためです。
ただし、少なくとも質問のコンテキストでは、ネイティブJSで要素を非表示にする方法を検討してください。
foo.style.display = 'none';
jQueryと比較して:
foo.hide();
大きな違いはなく、文字数を除けば、実際には何もする必要はありません。
さて、それを逆にしましょう。foo
jQueryでどのように表示し直しますか?
foo.show();
と生のJSで:
foo.style.display = 'block';
終わり。あまり違いはありません。
それともありますか?少し考えてみてください。ここでの最初の問題は、最初に設定しているという仮定にどのように到達したかということですdisplay = 'block'
。foo
ブロック表示に設定する必要がありますか?inline
代わりにすべきではありませんか?またはinline-block
?
ほとんどの場合、どちらを使用するかを決めることは何もできません。偶然に使用する場合は、確実に実行するためのバッキングコードを作成した可能性があります。
jQueryの実装の主な(見過ごされがちな)利点の1つはshow
、hide
すべての追跡がサイレントに実行されることです。.hide()
ブロック要素を呼び出した場合、それを呼び出すと.show()
、jQueryはそれをブロックに戻しますが、他には何も戻しません。
質問を続けることにした場合は、これも考慮してください。