寻找任何祖先时 parent() 的等价物是什么
What is equivalent to parent() when looking for any ancestor
当我寻找一个元素的子元素时,我使用以下几行。
var myself = $(donkey);
var myProblems = myself.children("*");
var notMyProblems = myself.find("*");
然而,当朝相反的方向前进时,我可以使用下面的行,但我还没有找到与 find 方法等效的循环。没有这种东西吗?
var myself = $(donkey);
var problemCreator = myself.parent();
例如,我想找到包含一行的 table 元素,该行包含一个 divisor,该 isor 包含一个跨度,该跨度包含一个被单击的按钮。我可以做这样的事情。
var clickaroo = $(event.target);
var holder = clickaroo.parent().parent().parent().parent().parent();
但是,它看起来很难看并且很脆弱,以防按钮嵌套在意想不到的或不可预见的额外 div 或跨度中。我想用这样的东西。
var clickaroo = $(event.target);
var holder = clickaroo.superParent("table");
我用谷歌搜索了它,但没有找到。是我用错关键字了还是没有这个功能?
您要找的方法是closest().
如果您尝试定位 class findMe 的元素,您可以使用以下五种方法。
var self = $("#myMyselfAndI");
var oneLevelDown = self.children(".findMe");
var anyLevelDown = self.find(".findMe");
var oneLevelUp = self.parent();
var anyLevelUp = self.closest(".findMe");
var allUppwards = self.parents();
如果您想在 DOM 中向上搜索,有几个选项。如果您使用 .parent()
它将寻找节点的直接父节点,但如果您使用 parents(selector)
搜索将向上遍历树,返回所有匹配项。因此,您可以这样做
而不是 find
var myself = $(donkey);
var parents = myself.parents();
当我寻找一个元素的子元素时,我使用以下几行。
var myself = $(donkey);
var myProblems = myself.children("*");
var notMyProblems = myself.find("*");
然而,当朝相反的方向前进时,我可以使用下面的行,但我还没有找到与 find 方法等效的循环。没有这种东西吗?
var myself = $(donkey);
var problemCreator = myself.parent();
例如,我想找到包含一行的 table 元素,该行包含一个 divisor,该 isor 包含一个跨度,该跨度包含一个被单击的按钮。我可以做这样的事情。
var clickaroo = $(event.target);
var holder = clickaroo.parent().parent().parent().parent().parent();
但是,它看起来很难看并且很脆弱,以防按钮嵌套在意想不到的或不可预见的额外 div 或跨度中。我想用这样的东西。
var clickaroo = $(event.target);
var holder = clickaroo.superParent("table");
我用谷歌搜索了它,但没有找到。是我用错关键字了还是没有这个功能?
您要找的方法是closest().
如果您尝试定位 class findMe 的元素,您可以使用以下五种方法。
var self = $("#myMyselfAndI");
var oneLevelDown = self.children(".findMe");
var anyLevelDown = self.find(".findMe");
var oneLevelUp = self.parent();
var anyLevelUp = self.closest(".findMe");
var allUppwards = self.parents();
如果您想在 DOM 中向上搜索,有几个选项。如果您使用 .parent()
它将寻找节点的直接父节点,但如果您使用 parents(selector)
搜索将向上遍历树,返回所有匹配项。因此,您可以这样做
find
var myself = $(donkey);
var parents = myself.parents();