¿Cómo puedo seleccionar un enésimo hijo sin conocer el elemento padre?

No puedo encontrar una manera de seleccionar el enésimo elemento, el último elemento o el primer elemento en los casos en que no conozco el elemento principal. nth-child existe, pero solo para niños, por ejemplo:

 

One

Two

p:last-child selecciona el párrafo “Two”, y p:first-child selecciona el párrafo “One”. Pero, ¿qué pasa cuando tengo un código dynamic y no tengo idea de cuál es el nombre principal, o incluso qué es realmente el padre (puede ser un div, span, ancla, ul, etc.)?

Por ejemplo:

  

One

Two

¿Cómo selecciono el segundo párrafo aquí? (No puedo seleccionarlo, ¿sabes qué youdontknowwhat! Ya que realmente no sé qué elemento es (es solo un nombre hipotético).

¿Por qué hay selectores de first-child , last-child y nth-child y NO :first .select-me:first :last .select-me:first :nth (como .select-me:first )?

¿Cómo :first ser diferente de :first-child ? Cada elemento HTML es hijo de algún otro elemento en el DOM excepto que es el elemento raíz. – BoltClock

Sería porque no sabes el elemento padre. – fomicz

No necesita saber el elemento principal para :first-child o :nth-child() para trabajar. Simplemente funcionarán , incluso si no especifica el elemento principal.

Se garantiza que el siguiente selector .select-me coincidir cualquier elemento .select-me apropiado .select-me independientemente de cuál sea su elemento principal:

 .select-me:nth-child(2) 
 * p:nth-child(2) 

por supuesto, es mejor si puede especificar el selector principal (por cuestión de rendimiento)