jquery中find和nearest之间的区别

我试图理解jquery中find()和nearest()之间的区别。 以下是我使用jquery的简单代码。 *这只是一个虚拟forms。 我只是想了解它们之间的区别。 所以不要以为我要用这个简单的forms做什么。 *

     function myFunction(){ var form = $("div#d1").find("form").attr("action"); var form1 = $("div#d1").closest("form").attr("action"); alert(form+form1); }    

Click on this paragraph.

Click on this paragraph.

当我单击提交按钮时, var form1值显示为undefined。 谁能告诉我为什么它显示为未定义? 当我应该使用nearest()和find()时。

描述:获取当前匹配元素集中每个元素的后代,由选择器,jQuery对象或元素过滤。

例:

$(selector1).find(selector2)搜索selector1元素的decedent并返回与selector2匹配的所有元素

CLOSEST

描述:对于集合中的每个元素,通过测试元素本身并遍历DOM树中的祖先来获取与选择器匹配的第一个元素。

$(selector1).closest(selector2)选择元素selector1 ,然后向上遍历dom并返回与selector2匹配的第一个元素

closest()是向上移动到父对象,包括当前元素。 find()正在看着孩子们的树下,以及孩子的孩子:

 var form1 = $("input").closest("form").attr("action"); 

最近的

最近的将在父元素中找到与选择器匹配的内容。

查找将进入子元素以查找与选择器匹配的内容。

两者都将在通过父/子元素之前首先测试初始元素。