Как и в случае с чем-либо подобным, вы ДОЛЖНЫ протестировать с помощью такого инструмента, как jsperf, если хотите получить реальный ответ.Тест показывает, что второй намного быстрее первого.
Если это были все те же вызовы метода, или вы могли бы обрабатывать каждый из них в методе .each(fn)
, вы могли бы объединить ихвсе так, и работа селектора будет значительно быстрее:
$('#parent_element').find('span.class1, span.class2, span.class3, span.class4').each(fn);
Вы можете запустить его самостоятельно здесь: http://jsperf.com/selector-options. Ваш первый вариант - оранжевый.Ваш второй вариант - синий.Комбинированный селектор красный.Кэшированный родитель на 30-80% быстрее.Если их все можно объединить в один селектор, это будет в несколько раз быстрее.