代码改变世界

jquery filter使用

2013-03-25 23:28  youxin  阅读(341)  评论(0编辑  收藏  举报

filter(expr|obj|ele|fn)

筛选出与指定表达式匹配的元素集合。

这个方法用于缩小匹配的范围。用逗号分隔多个表达式

保留带有select类的元素

HTML 代码:
<p>Hello</p><p>Hello Again</p><p class="selected">And Again</p>
jQuery 代码:
$("p").filter(".selected")
结果:
[ <p class="selected">And Again</p> ]

保留子元素中不含有ol的元素。

HTML 代码:
<p><ol><li>Hello</li></ol></p><p>How are you?</p>
jQuery 代码:
$("p").filter(function(index) {
  return $("ol", this).length == 0;
});
结果:
[ <p>How are you?</p> ]
filter参数可以使回调函数,这个 非常有用,如下面我碰到的:

<div class="color yellow"></div>
<div class="color blue"></div>
<div class="color green"></div>
<input type="hidden" name="form_color" id="form_color" />

判断到底点击了哪个div, (上面的div都含有color,可以作为filter条件)

我们可以这样写:

$("div").filter(function(){return $(this).hasClass('color');}).click(function(){
  //do something
});