jQuery选择器:选择'li[id='control";之后的所有'li'元素`

jQuery选择器:选择'li[id='control";之后的所有'li'元素`,jquery,jquery-selectors,Jquery,Jquery Selectors,我有一份清单: <ul> <li class="myclass">...</li> <li class="myclass">...</li> <li class="myclass">...</li> <li id="control">...</li> <li class="myclass">...</li> <li c

我有一份清单:

<ul>
   <li class="myclass">...</li>
   <li class="myclass">...</li>   
   <li class="myclass">...</li>
   <li id="control">...</li>
   <li class="myclass">...</li>
   <li class="myclass">...</li>
   <li class="myclass">...</li>
</ul>
如何选择
li[id=“control”]
之后的所有
li
元素 在本例中,我需要选择最后三个
li
,其中有一个将在特定元素选择后获得所有同级,如下所示:

$("#control").nextAll();

在本例中,同级元素是
  • 元素,因此它将选择同一级别上的所有元素(而不是下面的子元素,如果它们存在的话)

    在选择特定元素后,有一个将获得所有同级元素,如下所示:

    $("#control").nextAll();
    


    在本例中,同级元素是
  • 元素,因此它将选择同一级别上的所有元素(而不是下面的子元素,如果它们存在的话)

    如果您想要一个选择器,我想您可以使用
    $('#control~li')
    。“~”连接器(正确的单词是“connector”吗?“operator”maybe?)类似于“+”,但它选择了以下所有同级,而不仅仅是第一个同级


    有时,能够使用单个选择器字符串进行操作是很好的,因为您可能希望在数据结构中组织选择器和操作。然而,通常情况下,在一个链中执行显式jQuery函数调用(如@Nick的答案中带有“.nextAll()”)比让选择引擎解析和计算一个奇特的选择器字符串要快。

    如果您想要一个选择器,我想您可以使用
    $(“#control~li')
    。“~”连接器(正确的单词是“connector”吗?“operator”maybe?)类似于“+”,但它选择了以下所有同级,而不仅仅是第一个同级


    有时,能够使用单个选择器字符串进行操作是很好的,因为您可能希望在数据结构中组织选择器和操作。然而,通常情况下,在一个链中执行显式jQuery函数调用(如@Nick的答案中带有“.nextAll()”)比让选择引擎解析和计算一个奇特的选择器字符串要快。

    等等,为它制作一个JSFIDLE。Nicks的答案是最好的,伙计。@Anonymous Loozah-好吧,也来看看我的,伙计:-)等等,做一个jsfiddle。Nicks的答案是最好的,伙计。@Anonymous Loozah-我们也来看看我的,伙计:-)太好了!甚至都不知道。(不能标记为答案(9分钟规则))谢谢你激励我回到api站点,在那里我学到了“~”这个东西:-)太棒了!甚至都不知道。(不能标记为答案(9分钟规则))谢谢你激励我回到api站点,在那里我学到了“~”这个东西:-)事实上你是对的,我使用
    .nextAll()
    的原因是它不像使用选择器那样惩罚我。
    ~li
    更昂贵,因为
    ~
    不受
    queryselectoral()
    的支持。评估该选择器需要做更多的工作:是的,这就是为什么我对jQuery支持的所有高级选择器foo知之甚少的原因-它们很整洁,但我几乎从未真正使用过这些东西。确实,你是对的,我之所以使用
    .nextAll()
    是因为它不像使用选择器那样令人痛苦。
    ~li
    更昂贵,因为
    ~
    不受
    queryselectoral()
    的支持。评估该选择器需要做更多的工作:是的,这就是为什么我真的不太了解jQuery支持的所有奇特选择器foo的原因-它们很整洁,但我几乎从未真正使用过这些东西。