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的原因-它们很整洁,但我几乎从未真正使用过这些东西。