jQuery选择器:选择两个元素,以及它们之间的所有元素

我在UL内部有一堆LI,每个都有一个唯一的ID。

给定两个ID,选择两个相应LI的最佳方法是什么, 以及两者之间的所有LI?

谢谢!

http://api.jquery.com/nextUntil/

给定一个表示一组DOM元素的选择器表达式, .nextUntil()方法搜索DOM树中这些元素的后继,当它到达与方法参数匹配的元素时停止。 返回的新jQuery对象包含以下所有兄弟节点,但不包括与.nextUntil()参数匹配的兄弟.nextUntil()

如果选择器不匹配或未提供,则将选择所有后续兄弟姐妹; 在这些情况下,它选择与.nextAll()方法相同的元素, .nextAll()提供filter选择器。

从jQuery 1.6开始 ,可以将DOM节点或jQuery对象而不是选择器传递给.nextUntil()方法。

该方法可选地接受其第二个参数的选择器表达式。 如果提供了这个参数,那么将通过测试它们是否匹配来过滤元素…

你可以这样做:

 $('#id').nextUntil('#id2').andSelf().add('#id2') 

重要的是要注意.nextUntil()不包括它要去的元素,它会停止前面的元素。 要添加该元素,您需要在末尾调用.add(selector)

您还需要.andSelf()来包含第一个元素

2017年8月更新

jQuery方法.andSelf()现在在jQuery 1.8+中被弃用,使用.addBack()代替添加第一个选择。 此外,如果最后一个元素(#id2)感知选择中的第一个元素(#id1),则可以使用.prevUntil() 。 比较两个元素的.index()以确定它们在文档中的顺序。

选择UL之间的所有LI

  $(document).ready(function(){ $("li[ID*=ids]").css("bacground-color","red");// contian common world ex ids1 });