这是jQuery里常用的2个方法。
他们2者功能是全然不同的,而刚开始学习的人往往会被误导。
首先 我们看.find()方法:
如今有一个页面,里面HTML代码为;
程序代码
<
div
class
="css"
>
< p class ="rain" > 测试1 </ p >
</ div >
< div class ="rain" >
< p > 测试2 </ p >
</ div >
< p class ="rain" > 测试1 </ p >
</ div >
< div class ="rain" >
< p > 测试2 </ p >
</ div >
假设我们使用find()方法:
var
$find
=
$(
"
div
"
).find(
"
.rain
"
);
alert( $find.html() ) ;
alert( $find.html() ) ;
将会输出:
假设使用filter()方法:
var
$filter
=
$(
"
div
"
).filter(
"
.rain
"
);
alert( $filter.html() );
alert( $filter.html() );
将会输出:
或许你已经看出它们的差别了。
find()会在div元素内 寻找 class为rain 的元素。
而filter()则是筛选div的class为rain的元素。
一个是对它的子集操作,一个是对自身集合元素筛选。
另外find()事实上还能够用选择器表示:
var
$select
=
$(
"
div .rain
"
);
明确他们的差别了吗?