var $set = $('.foo,.bar').filter(
function() {return $(this).parents('.baz').length < 1;});
als eine Möglichkeit, alle Elemente, deren Klassen zu wählen sind entweder foo
oder bar
und wer sie absteigen nicht von einem Element, dessen Klasse ist baz
. Gibt es einen Selektor, der dasselbe erreicht, ohne dass ein Filter-Lambda benötigt wird?
<div class='foo'/><!--match this-->
<div class='bar'/><!--match this-->
<div class='baz'>
<div class='foo'/> <!--don't match this-->
</div>
aus allen Antworten Ich mag die Art und Weise Sie am besten tun. – Dean
können Sie die "nächste" Methode anstelle von "Eltern" verwenden, um es schneller zu machen. 'closed' hört auf zu suchen, sobald ein übereinstimmendes Element gefunden wird, während" elterns "den DOM-Baum zum Wurzelelement des Dokuments bewegt, um übereinstimmende Elemente zu finden. – RayOnAir