jQuery中find()方法的疑惑

2025-02-22 11:52:22
推荐回答(4个)
回答1:

find() 方法获得当前元素集合中每个元素的后代,通过选择器、jQuery 对象或元素来筛选。

语法:.find(selector) 参数selector 字符串值,包含供匹配当前元素集合的选择器表达式。

详细说明:
如果给定一个表示 DOM 元素集合的 jQuery 对象,.find() 方法允许我们在 DOM 树中搜索这些元素的后代,并用匹配元素来构造一个新的 jQuery 对象。.find() 与 .children() 方法类似,不同的是后者仅沿着 DOM 树向下遍历单一层级。
.find() 方法第一个明显特征是,其接受的选择器表达式与我们向 $() 函数传递的表达式的类型相同。将通过测试这些元素是否匹配该表达式来对元素进行过滤。

回答2:

HTML代码






JS代码
$a = $("#test");
$a.find(".show")得到的对象是
也就是说$a.find是在$a这个对象的子对象中找类名为show的元素
而$(".show")会得到两个元素,滴一个就是外层的DIV,第二个是内部的input

所以不用我说了把?

回答3:

是针对的DOM不同。
我想问的是,你为什么不去直接看.find是怎么实现的?源码里有的

回答4:

一个是直接查找,一个是在$a的结果集下查找