Это - больше вопроса о любопытстве. При выполнении следующего:
$('.selector1, .selector2').doSomething()
JQuery полностью пересекает DOM дважды для получения каждого набора объектов, соответствующих каждому селектору, или он находит все элементы в одном обходе DOM?
Я думаю, что он использует функции родного браузера, чтобы найти это, используя:
document.getElementsByClassName()
Это действительно зависит от браузера. В более новых браузерах он будет использовать Document.QuerySelectorAll для любых запросов DOM (под капотом это вызывает документ. GteclelementsByClassname для занятий). В более старых браузерах, которые не поддерживают это, то он должен понять его самостоятельно, что, очевидно, будет медленнее.
В целом вы должны сначала найти материал по ID (или, по крайней мере, сужать объем). Класс и имена тегов будут следующими для скорости. По сути, в основном поддерживаемые операции DOM лучше всего.