Estoy buscando una manera de seleccionar elementos que contienen un elemento determinado y luego filtrar los resultados para obtener solo el nivel más alto. Es difícil de explicar, pero hace más fácil con un ejemplo:jQuery: elementos de nivel más alto que contienen x
<div id="one">
<div id="two">
<div id="three" class="find-me"></div>
</div>
</div>
<div id="four">
<div id="five" class="find-me"></div>
</div>
En este caso, me gustaría que mi conjunto de contener #one y #four. Si trato de hacer algo como esto:
var elements = $('div').has('.find-me');
Obtengo los elementos #one, #two y #four.
Nota: Por 'nivel más alto' se relaciona con el elemento superior en el primer selector, $('div')
en este caso.
Buen punto - Supongo que es el nivel más alto del primer conjunto; '$ ('div')' en este caso. Me gusta la idea de hacerlo 'al revés' de esta manera. La velocidad es un gran problema en esta página (2 MB de html para recorrer) por lo que estaría interesado en la diferencia de velocidad entre esta respuesta y la respuesta por @karnyj – ajbeaven