find(selector):查找当前元素的后代元素。
filter(selector):根据条件过滤当前层级集合中的元素。
html代码:
<div>
<ul id="myTab">
<li class="success"><a href="#" data-pic="goods">goods</a></li>
<li class="active"><a href="#" data-pic="car">car</a></li>
</ul>
<button type="button" name="button" id="test">点我</button>
</div>
jquery代码(find):
$("#test").on('click', function(){
var node = $("#myTab").find(".active").eq(0);
var url = $(node).children("a").data("pic");
alert(url); // 结果为:car
});
jquery代码(filter):
$("#test").on('click', function(){
var node = $("#myTab > li").filter(".active").eq(0);
var url = $(node).children("a").data("pic");
alert(url); // 结果为:car
});
p.s. filter()要先获取#myTab下的li集合,再根据条件过滤;find()直接根据条件查找其后代元素。