我正在尝试使用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对象。
答案 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')