jQuery是前端开发中常用的JavaScript库,它为我们提供了许多方便的API。其中find和filter都是常用的方法,下面我们来详细了解一下。

首先,我们先来看看find方法。该方法可以通过选择器来匹配DOM树中的元素,返回匹配到的子元素。例如:

// HTML结构<div id="parent"><div class="child">child1</div><div class="child"><span>child2</span></div><ul class="child"><li>child3</li><li>child4</li></ul></div>// jQuery代码var $parent = $(#parent);var $child = $parent.find(.child);console.log($child.length); // 输出3,匹配到了三个子元素

从上面的代码可以看出,我们先通过选择器匹配到了父元素,然后使用find方法选中了所有class为child的子元素。

接下来我们再来看看filter方法。和find方法类似,该方法也可以通过选择器来匹配DOM树中的元素,不同的是,它是根据当前元素进行过滤并返回一个新的jQuery对象。例如:

// HTML结构<div id="parent"><div class="child">child1</div><div class="child"><span>child2</span></div><ul class="child"><li>child3</li><li>child4</li></ul></div>// jQuery代码var $child = $(.child);var $li = $child.filter(li);console.log($li.length); // 输出2,匹配到了两个li元素

从上面的代码可以看出,我们选中了所有class为child的元素,然后使用filter方法过滤出了标签名为li的元素。

总结一下,find和filter方法是两个常用的jQuery方法,它们都可以根据选择器来匹配DOM树中的元素。不同的是,find方法是在选中的元素中查找子元素,而filter方法是在选中的元素中过滤元素。

jQuery里面find和filter