jquery中的过滤操作详细解析
本文导语: 1.过滤 Filtering 名称 说明 举例 eq( index ) 获取第N个元素 获取匹配的第二个元素: $("p").eq(1) filter( expr ) 筛选出与指定表达式匹配的元素集合。 保留带有select类的元素: $("p").filter(".selected") filter( fn ) 筛选出与指定函数返回值...
1.过滤 Filtering
名称 说明 举例 eq( index ) 获取第N个元素 获取匹配的第二个元素:$("p").eq(1) filter( expr )
筛选出与指定表达式匹配的元素集合。
保留带有select类的元素:$("p").filter(".selected") filter( fn )
筛选出与指定函数返回值匹配的元素集合
这个函数内部将对每个对象计算一次 (正如 '$.each'). 如果调用的函数返回false则这个元素被删除,否则就会保留。
保留子元素中不含有ol的元素:$("div").filter(function(index) {
return $("ol", this).size() == 0;
});
注意: 这个函数返回的不是jQuery包装集而是Boolean值
用一个表达式来检查当前选择的元素集合,如果其中至少有一个元素符合这个给定的表达式就返回true。
如果没有元素符合,或者表达式无效,都返回'false'. 'filter' 内部实际也是在调用这个函数,所以,filter()函数原有的规则在这里也适用。
由于input元素的父元素是一个表单元素,所以返回true:$("input[type='checkbox']").parent().is("form") map( callback )
将一组元素转换成其他数组(不论是否是元素数组)
你可以用这个函数来建立一个列表,不论是值、属性还是CSS样式,或者其他特别形式。这都可以用'$.map()'来方便的建立
把form中的每个input元素的值建立一个列表:$("p").append( $("input").map(function(){
return $(this).val();
}).get().join(", ") );
$("p").not( $("#selected")[0] )
slice( start, end )
选取一个匹配的子集 选择第一个p元素:$("p").slice(0, 1);