var $set = $('.foo,.bar').filter(
function() {return $(this).parents('.baz').length < 1;});
como una manera de seleccionar todos los elementos cuyas clases son o bien foo
o bar
y que no descienden de un elemento cuya clase es baz
. ¿Hay un selector que logre lo mismo sin la necesidad de un filtro lambda?
<div class='foo'/><!--match this-->
<div class='bar'/><!--match this-->
<div class='baz'>
<div class='foo'/> <!--don't match this-->
</div>
de todas las respuestas que me gusta la forma en que está haciendo mejor. – Dean
puede usar el método 'más cercano' en lugar de' padres' para hacerlo más rápido. 'closer' se detiene una vez que encuentra un elemento coincidente mientras' parents' recorre el árbol DOM hasta el elemento raíz del documento para encontrar elementos coincidentes. – RayOnAir