Como posso selecionar um enésimo filho sem conhecer o elemento pai?

Não consigo descobrir uma maneira de selecionar o enésimo elemento, último elemento ou primeiro elemento nos casos em que não conheço o elemento pai. existe nth-child , mas apenas para crianças, por exemplo:

  

p:last-child seleciona o parágrafo “Dois” e p:first-child seleciona o parágrafo “Um”. Mas e quando eu tenho código dynamic e não tenho idéia do nome do pai, ou mesmo do que o pai realmente é (pode ser div, span, anchor, ul, etc.)?

Por exemplo:

  

One

Two

Como faço para selecionar o segundo parágrafo aqui? (Eu sou incapaz de selecionar youdontknowwhat! Desde que eu realmente não sei o elemento que é (é apenas um nome hipotético).

Por que existem seletores de first-child , last-child e nth-child e NO :first .select-me:first :last .select-me:first :nth (como .select-me:first )?

Como seria :first ser diferente de :first-child ? Todo elemento HTML é filho de algum outro elemento no DOM, exceto que é o elemento raiz. – BoltClock

Seria porque você não conhece o elemento pai. – fomicz

Você não precisa conhecer o elemento pai para :first-child ou :nth-child() para trabalhar. Eles apenas funcionarão , mesmo que você não especifique o elemento pai.

É garantido que o seletor a seguir corresponde a qualquer elemento .select-me apropriado, independentemente do seu elemento pai:

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

é claro que é melhor se você pode especificar o seletor pai (por uma questão de desempenho)