Эффективность селектора jQuery - PullRequest
1 голос
/ 20 марта 2012

У меня быстрый Bing и я не могу найти ответ.

Если бы у меня был код, который использует $('something here') 150 раз, будет ли эффективнее:

var item = $('something here')

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

Ответы [ 3 ]

4 голосов
/ 20 марта 2012

Согласно этой статье, более эффективно назначать селектор переменной, что имеет смысл, поскольку jQuery не нужно сканировать DOM для поиска элементов, соответствующих селектору снова.

http://geekswithblogs.net/renso/archive/2009/07/14/jquery-selector-efficiencycost-impact.aspx

Он также предоставляет другие советы. Например, старайтесь не использовать только селектор классов. Интересно, что такой селектор, как $('#someID'), работает быстрее, чем $('div#someID').

3 голосов
/ 20 марта 2012

Да, сохранение получающегося объекта jQuery значительно эффективнее и может быть на несколько быстрее.Каждый раз, когда вы используете селектор, вы начинаете новый поиск.JQuery не кеширует результаты.Если вы сохраните полученный объект jQuery в переменной, вы фактически избавите от необходимости каждый раз запускать поиск снова и снова.

1 голос
/ 20 марта 2012

Пожалуйста, просмотрите эту статью, чтобы точно знать, как jQuery работает за экраном.Очень хорошо объяснено.

http://net.tutsplus.com/tutorials/javascript-ajax/quick-tip-jquery-newbs-stop-jumping-in-the-pool/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...