使用jQuery和CSS选择元素范围

时间:2015-08-26 12:07:13

标签: javascript jquery html css

我正在尝试使用nth-child伪选择器选择一系列锚元素。问题是nth-child只能用于子元素,但我有这样的结构:

<div>
  <a>first link>
</div>
<div>
  <a>Second link</a>
</div>
<div>
  <a>Third link</a>
</div>

在这种情况下,我发现以下有助于选择前2个匹配元素的选择器不起作用:

$("a:nth-child(n+1):nth-child(-n+2)")

我在这里创建了一个例子:http://jsfiddle.net/o6w5orom/,在第一个例子中返回所有元素而不是第一个2.在第二个例子中,只有直接子节点才有效。

那么,有没有办法为jQuery构造CSS选择器,它基本上会返回一系列元素,比如nth-child,但是会在jQuery对象的匹配元素上工作?我想构造选择器,不要编写逻辑来处理jQuery对象。

2 个答案:

答案 0 :(得分:0)

使用:$("div:nth-child(n+1):nth-child(-n+2) a")

选择nth-child的div然后下降到a

答案 1 :(得分:0)

是的,你是对的 - :nth-​​child只返回直接孩子。 但是问题是什么?使用find。

  

$("div:nth-child(n+1):nth-child(-n+2)").find('a')