Выбор одного и того же элемента с помощью jQuery несколько раз против использования переменной - PullRequest
2 голосов
/ 21 августа 2010

Что из перечисленного теоретически будет лучше с производительностью и / или памятью?Другими словами, должен ли jQuery работать, чтобы выбрать один и тот же элемент несколько раз, или он знает, какие элементы он выбрал в прошлом?

Я намеренно оставил анимацию без аргументов, это чистотеоретический вопрос.

$("#someelement").animate();
$("#someelement").animate();
$("#someelement").animate();
$("#someelement").animate();
$("#someelement").animate();
$("#someelement").animate();
$("#someelement").animate();
$("#someelement").animate();
$("#someelement").animate();
$("#someelement").animate();

или

var element = $("#someelement");
element.animate();
element.animate();
element.animate();
element.animate();
element.animate();
element.animate();
element.animate();
element.animate();
element.animate();
element.animate();

1 Ответ

4 голосов
/ 21 августа 2010

Определенно, вариант 2. С опцией 1 jQuery должен найти элемент в th DOM перед каждой анимацией.

При использовании опции 2 элемент «кэшируется» в переменной, и нет необходимости снова проходить через DOM.

...