jQuery基础---filter()和find()

这是jQuery里常用的2个方法。
他们2者功能是完全不同的,而初学者往往会被误导。


首先 我们看.find()方法:
现在有一个页面,里面HTML代码为;
 程序代码

<div class="css">
       <p class="rain">测试1</p>
</div>

<div class="rain">
       <p>测试2</p>
</div>


如果我们使用find()方法:
var $find =  $("div").find(".rain");
alert( $find.html() ) ;
将会输出:

        测试1
如果使用filter()方法:
var $filter = $("div").filter(".rain");
alert( $filter.html() );
将会输出:

      <p>测试2</p>

也许你已经看出它们的区别了。
find()会在div元素内 寻找 class为rain 的元素。
而filter()则是筛选div的class为rain的元素。
一个是对它的子集操作,一个是对自身集合元素筛选。

另外find()其实还可以用选择器表示:
var $select =  $("div .rain");

明白他们的区别了吗?

 

2:

  再举一个例子说明一下.

$("a").filter(".clickme").click(function() {                        //$("a")指的是所有标签是<a>的对象
  alert("click!");                                                              //filter(".clickme")指的是class的属性
}).end().filter(".hideme").click(function() {
  $(this).hide();
});

 

<a class="clickme" href="">test</a>
<a class="hideme" href="">test1</a>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值