要素がDOMに存在するかどうかを確認したいときはいつでも、次のコードを使用します。
if($('#target').length){
// do stuff.
}
これはうまく機能し、クライアントサイトで非常によく使用します。
質問:この方法はどれくらい速いですか?これがプロジェクトで頻繁に使用される場合、速度にはどのような影響がありますか?
要素がDOMに存在するかどうかを確認したいときはいつでも、次のコードを使用します。
if($('#target').length){
// do stuff.
}
これはうまく機能し、クライアントサイトで非常によく使用します。
質問:この方法はどれくらい速いですか?これがプロジェクトで頻繁に使用される場合、速度にはどのような影響がありますか?
if(document.getElementById('target'))
代わりに使用する方がはるかに良いでしょう。JavaScriptは常にjQueryよりも高速です(jQueryはカーペットの下に隠されたJavaScriptの集まりであるため)
編集:あなたがそれをたくさん使うならば、あなたはカスタム関数を作ることができます:
function idExists(id) {return !!document.getElementById(id);}
ネイティブJSは、jQueryを介したクエリよりも常に高速です。あまり友好的ではないかもしれません。
jsperf.comを介してクエリを実行した後、native(querySelectorAll
)はjQueryより57%高速です
ただし、idを使用する場合、jQueryはquerySelectorAllよりも高速になります。idの場合はdocument.getElementById
、要素の存在をテストするために使用します。
JQueryコンテキストでDOM要素を検索してみてください。
要素u検索が言う場合、入力コントロールはテーブル内にあり、コンテキストとしてテーブルを渡します。
簡単な例:
$(function(){
var name= $('#Name','#mytab').val();
alert(name);
});
jqueryエンジンは、フォーム全体ではなく、「mytab」内の要素「Name」を検索します
このフィドルリンクをたどる:http://jsfiddle.net/NzbJr/10/