如何在不知道父元素的情况下select第n个孩子?

我不知道在不知道父元素的情况下select第n个元素,最后一个元素或第一个元素的方法。 nth-child存在的,但仅限于儿童,例如:

 <div> <p>One</p> <p>Two</p> </div> 

p:last-childselect“两个”段落, p:first-childselect“一个”段落。 但是,当我有dynamic代码,不知道父母的名字是什么,甚至父母真正是什么(可能是一个div,跨度,锚点,UL等)?

例如:

 <youdontknowwhat!> <p class="select-me">One</p> <p class="select-me">Two</p> </youdontknowwhat!> 

我如何在这里select第二段? (我无法selectyoudontknowwhat!因为我真的不知道它是什么元素(这只是一个假设的名字)。

为什么有first-childlast-child.select-me:first :first nth-childselect器,NO :first:last:nth (比如: .select-me:first )?

如何:first不同于:first-child ? 除了作为根元素的<html>以外,每个HTML元素都是DOM中其他元素的子元素。 – BoltClock

这是因为你不知道父元素。 – fomicz

您不需要知道父元素:first-child:nth-child()可以工作。 即使你没有指定父元素, 它们也会工作

下面的select器保证匹配任何适当的.select-me元素,而不pipe它的父元素是什么:

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

当然,如果你可以指定父select器(对于性能问题)