Esta prueba jsPerf sugiere que find () es más rápido. Creé una prueba más exhaustiva , y todavía parece que find () supera a los niños ().
Actualización: según el comentario de tvanfosson, creé otro caso de prueba con 16 niveles de anidamiento. find () solo es más lento cuando se encuentran todos los divs posibles, pero find () aún supera a los hijos () al seleccionar el primer nivel de divs.
children () comienza a superar a find () cuando hay más de 100 niveles de anidamiento y alrededor de 4000+ divs para find () para atravesar. Es un caso de prueba rudimentario, pero sigo pensando que find () es más rápido que los niños () en la mayoría de los casos.
Pasé por el código jQuery en Chrome Developer Tools y noté que children () internamente hace llamadas a sibling (), filter (), y pasa por algunas expresiones regulares más que find ().
find () y children () satisfacen diferentes necesidades, pero en los casos en que find () y children () generarían el mismo resultado, recomendaría usar find ().
.find()
y.children()
no son lo mismo Este último solo viaja un solo nivel hacia abajo en el árbol DOM, como un selector secundario.