jquery在一些特殊旁边选择所有

jquery在一些特殊旁边选择所有,jquery,jquery-selectors,Jquery,Jquery Selectors,我为标题感到抱歉,不知道如何更好地描述它 我的结构如下: <div id="content"> <ul id="linklist"> <li><a>...</a></li> <li><a>...</a></li> <li><a>...</a></li> <li><a&g

我为标题感到抱歉,不知道如何更好地描述它

我的结构如下:

<div id="content">
  <ul id="linklist">
     <li><a>...</a></li>
     <li><a>...</a></li>
     <li><a>...</a></li>
     <li><a>...</a></li>
  </ul>
  <a>...</a>
  <div> //variable depth of divs
    <a>...</a>
  </div>
</div>
也显示了第三和第四个链接。我想因为李娜还在比赛中不存在

解决此问题的正确选择器是什么?

您可以对要从选择中删除的两个索引使用.not方法:

$('#linklist').find('a').not(':eq(2)').not(':eq(3)');
尝试:

或:


请看:

我会用不同的方式来处理。 为您不想选择唯一类名的元素指定一个类名,即忽略

这将更易于维护,也就是说,如果您的链接位置发生变化,并且同样可以使用jQuery和CSS

希望这有帮助。

您的:gt选择器中的语法有点不正确。:gt应位于链接列表a元素上,索引以零为基础,因此应为1。试试这个:

$('a:not(#linklist a:gt(1))')
试试这个:


$'linklist li'。不是:eq3。不是:eq2

是的,这是一种简单的方法,但不是一种替代方法。加价不应该改变。我试过了,它不起作用。$'链接列表'。不是'li:nth-child3'。不是'li:nth-child4'。找到'li'仍然可以找到全部。尽管如此,我也需要集合中的另一个。我以前尝试过使用$'a:notlinklist li:gt1 a',但这不是解决方案。你能解释一下为什么吗?
$('#linklist li').not('li:nth-child(3)').not('li:nth-child(4)');
$('#linklist li').not('li:gt(1)');
     <li><a>...</a></li>
     <li><a>...</a></li>
     <li><a class="ignore-me">...</a></li>
     <li><a class="ignore-me">...</a></li>
a:not(.ignore-me)
$('a:not(#linklist a:gt(1))')