関数のスコープ内で jQuery セレクターの結果に複数回アクセスする必要がある場合、セレクターを 1 回実行してローカル変数に割り当てることをお勧めしますか?
ここで私の陳腐な例を許してください、しかしそれは質問を説明していると思います。したがって、このコードはより高速に実行されますか?
var execute = function(){
var element = $('.myElement');
element.css('color','green');
element.attr('title','My Element');
element.click(function(){
console.log('clicked');
});
}
このコードより:
var execute = function(){
$('.myElement').css('color','green');
$('.myElement').attr('title','My Element');
$('.myElement').click(function(){
console.log('clicked');
});
}
違いがない場合、その理由を説明できる人はいますか? jQueryは要素を選択した後に要素をキャッシュするので、後続のセレクターはdomを再度検索する必要はありませんか?