jQuery-筛选

筛选是对选择器的结果进行筛选

参考http://jquery.cuishifeng.cn/index.html

筛选分为过滤和查找

一:筛选

使用说明例子

eq(index|-index)

获取当前链式操作中第N个jQuery对象,返回jQuery对象,

当参数大于等于0时为正向选取,比如0代表第一个,1代表第二个。

当参数为负数时为反向选取,比如-1为倒数第一个

$("p").eq(1)
$("p").eq(-2)

first()

获取第一个元素
$('li').first()

last()

获取最后个元素
$('li').last()

hasClass(class)

检查当前的元素是否含有某个特定的类,

如果有,则返回true

$("div").click(function(){
  if ( $(this).hasClass("protected") )
    $(this)
      .animate({ left: -10 })
      .animate({ left: 10 })
      .animate({ left: -10 })
      .animate({ left: 10 })
      .animate({ left: 0 });
});

filter(expr|obj|ele|fn)

筛选出与指定表达式匹配的元素集合
$("p").filter(".selected")

is(expr|obj|ele|fn)

根据选择器、DOM元素或 jQuery 对象来检测匹配元素集合,

如果其中至少有一个元素符合这个给定的表达式就返回true

$("input[type='checkbox']").parent().is("form")

has(expr|ele)

保留包含特定后代的元素,

去掉那些不含有指定后代的元素

$('li').has('ul')

not(expr|ele|fn)

从匹配元素的集合中删除与指定表达式匹配的元素
$("p").not( $("#selected")[0] )

slice(start,[end])

选取一个匹配的子集
$("p").slice(0, 2)

二:查找

使用说明例子
所有子元素的元素集合
$("div").children()
搜索所有与指定表达式匹配的元素
$("p").find("span")

每一个元素紧邻的后面同辈元素的元素集合

回后面那个紧邻的同辈元素

$("p").next(".selected")
查找当前元素之后所有的同辈元素
$("div:first").nextAll()

查找当前元素之后所有的同辈元素,

直到遇到匹配的那个元素为止。

$('#term-2').nextUntil('dt')
取得一个包含着所有匹配元素的唯一父元素的元素集合
$("p").parent(".selected")

取得一个包含着所有匹配元素的祖先

元素的元素集合(不包含根元素)

$("span").parents()

查找当前元素的所有的父辈元素,

直到遇到匹配的那个元素为止

$('li.item-a').parentsUntil('.level-1')

取得一个包含匹配的元素集合中

每一个元素紧邻的前一个同辈元素的元素集合

$("p").prev(".selected")
查找当前元素之前所有的同辈元素
$("div:last").prevAll()

查找当前元素之前所有的同辈元素,

直到遇到匹配的那个元素为止

$('#term-2').prevUntil('dt')

取得一个包含匹配的元素集合中

每一个元素的所有唯一同辈元素的元素集合

$("div").siblings(".selected")