Если вы хотите использовать стандартную конструкцию element = element1 || element2, где JavaScript вернет первое правдивое, вы можете сделать именно это:
element = $('#someParentElement .somethingToBeFound') || $('#someParentElement .somethingElseToBeFound');
, который возвращает первый найденный элемент. Но, возможно, лучшим способом было бы использовать запятую конструкцию селектора jQuery (которая возвращает массив найденных элементов) следующим образом:
element = $('#someParentElement').find('.somethingToBeFound, .somethingElseToBeFound')[0];
, который вернет первый найденный элемент.
Я использую это время от времени, чтобы найти активный элемент в списке или какой-либо элемент по умолчанию, если активного элемента нет. Например:
element = $('ul#someList').find('li.active, li:first')[0]
, который вернет любой li с классом active или, если его нет, просто вернет последний li.
Либо будет работать. Тем не менее, есть потенциальные потери производительности, поскольку || остановит обработку, как только найдет что-то правдивое, тогда как подход с использованием массива попытается найти все элементы, даже если он уже нашел один. Опять же, используя || У конструкции потенциально могут быть проблемы с производительностью, если она должна пройти через несколько селекторов перед тем, как найти тот, который будет возвращать, потому что она должна вызывать основной объект jQuery для каждого (я действительно не знаю, является ли это падением производительности или нет, это просто кажется логичным, что это может быть). В целом, тем не менее, я использую подход массива, когда селектор является довольно длинной строкой.