Wenn Sie das Standardkonstrukt von element = element1 || verwenden möchten Element2, bei dem JavaScript das erste zurückgibt, das wahr ist, können Sie genau das tun:
element = $('#someParentElement .somethingToBeFound') || $('#someParentElement .somethingElseToBeFound');
Dies würde das erste Element zurückgeben, das tatsächlich gefunden wird. Ein besserer Weg wäre jedoch wahrscheinlich, das Kommakonstrukt jQuery-Selektor (das ein Array gefundener Elemente zurückgibt) auf folgende Weise zu verwenden:
element = $('#someParentElement').find('.somethingToBeFound, .somethingElseToBeFound')[0];
Dies gibt das erste gefundene Element zurück.
Ich benutze das von Zeit zu Zeit, um entweder ein aktives Element in einer Liste oder ein Standardelement zu finden, wenn es kein aktives Element gibt. Zum Beispiel:
element = $('ul#someList').find('li.active, li:first')[0]
Dies wird jedes Li mit einer Klasse von aktiven oder, falls es keine gibt, nur das letzte Li zurückgeben.
Beides wird funktionieren. Es gibt jedoch potenzielle Leistungseinbußen, wie die || stoppt die Verarbeitung, sobald etwas Wahres gefunden wird, während der Array-Ansatz versucht, alle Elemente zu finden, auch wenn er bereits eines gefunden hat. Dann wieder mit dem || Konstrukt kann möglicherweise Leistungsprobleme haben, wenn es mehrere Selektoren durchlaufen muss, bevor es das zurückgegebene findet, da es das Haupt-jQuery-Objekt für jedes aufrufen muss (ich weiß wirklich nicht, ob dies ein Leistungseinbruch ist oder nicht). es scheint nur logisch, dass es sein könnte). Im Allgemeinen verwende ich jedoch den Array-Ansatz, wenn der Selektor eine ziemlich lange Zeichenfolge ist.