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");
最近的
找
最近的将在父元素中找到与选择器匹配的内容。
查找将进入子元素以查找与选择器匹配的内容。
两者都将在通过父/子元素之前首先测试初始元素。