Если вы намереваетесь передать в функцию только один элемент, это не имеет значения.Я бы разработал параметр функции в зависимости от того, что мне, вероятно, уже пригодилось во время вызова.Если бы я никогда не имел его в объекте jQuery уже во время вызова, то я бы просто передал элемент DOM и позволил функции превратить его в объект jQuery (если это необходимо).Если он всегда был у меня в объекте jQuery, то будет лучше передать тот объект, который у меня уже есть, чем дополнительный элемент DOM, а затем превратить его в другой объект jQuery внутри функции.
Если вынамеревается передать несколько элементов в функцию, тогда, вероятно, проще просто передать объект jQuery, потому что это хорошая удобная оболочка для нескольких объектов.
Как сказал Пойнти, самое элегантное решение - сделать вашу функциюи затем он автоматически примет множество различных аргументов, включая селектор, элемент DOM, массив элементов DOM или объект jQuery (все это обрабатывается инфраструктурой jQuery для вас).
Вы достигнете наилучшей производительностиесли вы только один раз превращаете элемент DOM в объект jQuery.Передача DOM или объекта jQuery в качестве аргумента будет иметь одинаковую производительность (оба передают ссылку на объект).Идея плагина на самом деле будет иметь немного худшую производительность, потому что она имеет универсальное назначение и принимает множество различных аргументов и, следовательно, должна определять тип передаваемого аргумента.Эта разница в производительности, возможно, не заметна по сравнению со временем, которое занимает метод .index()
.