jQuery中find()方法的疑惑

$(“.show”)和$a.find("div.show")区别是什么?为什么不直接用第一种方法去找元素,用find方法是为了找到元素的同时构造jquery对象吗?... $(“.show”)和$a.find("div.show")区别是什么?为什么不直接用第一种方法去找元素,用find方法是为了找到元素的同时构造jquery对象吗? 展开
 我来答
纯洁的小树
推荐于2016-07-16 · TA获得超过3386个赞
知道大有可为答主
回答量:2536
采纳率:71%
帮助的人:472万
展开全部
find() 方法获得当前元素集合中每个元素的后代,通过选择器、jQuery 对象或元素来筛选。

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

详细说明:
如果给定一个表示 DOM 元素集合的 jQuery 对象,.find() 方法允许我们在 DOM 树中搜索这些元素的后代,并用匹配元素来构造一个新的 jQuery 对象。.find() 与 .children() 方法类似,不同的是后者仅沿着 DOM 树向下遍历单一层级。
.find() 方法第一个明显特征是,其接受的选择器表达式与我们向 $() 函数传递的表达式的类型相同。将通过测试这些元素是否匹配该表达式来对元素进行过滤。
灵葬外与他29
推荐于2018-03-01 · TA获得超过2183个赞
知道小有建树答主
回答量:1221
采纳率:50%
帮助的人:951万
展开全部
HTML代码
<div id="test" class=".show">
<input class=".show" type="text" />

</div>

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

所以不用我说了把?
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
在忠济寺睡懒觉的黑豹
2012-11-09 · TA获得超过2223个赞
知道小有建树答主
回答量:443
采纳率:0%
帮助的人:271万
展开全部
是针对的DOM不同。
我想问的是,你为什么不去直接看.find是怎么实现的?源码里有的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lqing2006
2012-11-09 · TA获得超过1233个赞
知道小有建树答主
回答量:793
采纳率:0%
帮助的人:816万
展开全部
一个是直接查找,一个是在$a的结果集下查找
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式