1

我有一个<dl>包含多个<dd><ol>...</ol></dd>列表的列表,每个列表都有一些<li>元素。我正在尝试选择每个<ol>列表的前 2 个元素以外的所有元素。

我可以通过使用轻松实现它

$("dl dd ol").each(function(){
    $elems = $("li:gt(2)",$(this));
});

我很好奇,是否可以不使用$.each(即仅使用选择器)执行相同的操作?我已经尝试过$("dl dd ol > li:gt(2)"),但似乎:gt没有相对于父级索引。目前有没有办法只使用选择器来做到这一点?

jsFiddle

4

2 回答 2

1

您可以使用find方法:

$("dl dd ol").find("li:gt(2)").css('color','#f00');

http://jsfiddle.net/X28Kb/

于 2013-08-08T08:10:54.630 回答
1

我不确定是否可以仅使用选择器来完成 :( 但这是另一种方法,

$('dl ol li:last-child').prev('li').andSelf().css('color','#f00');

演示在这里

于 2013-08-08T08:13:52.577 回答