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 });