Jquery 有没有一种方法可以编写一个选择器来遍历标记的父级,直到找到匹配项?

Jquery 有没有一种方法可以编写一个选择器来遍历标记的父级,直到找到匹配项?,jquery,Jquery,在jQuery中似乎没有办法做到这一点,但我想我应该问问各位好朋友,是否有一种聪明的方法可以让我避免parent().parent().parent() 我基本上是想完成这样的任务:$('#myId')。parent('li')试试选择器 这将遍历DOM树中的祖先 试试选择器 这将遍历DOM树中的祖先 您应该使用最近的() 或者,可能是parents(): 主要区别在于closest()将返回零个或一个匹配项(它找到的第一个元素,如果选择器与祖先不匹配,则不返回任何元素),而parents()将

在jQuery中似乎没有办法做到这一点,但我想我应该问问各位好朋友,是否有一种聪明的方法可以让我避免
parent().parent().parent()

我基本上是想完成这样的任务:
$('#myId')。parent('li')
试试选择器

这将遍历DOM树中的祖先

试试选择器

这将遍历DOM树中的祖先


您应该使用
最近的()

或者,可能是
parents()

主要区别在于
closest()
将返回零个或一个匹配项(它找到的第一个元素,如果选择器与祖先不匹配,则不返回任何元素),而
parents()
将返回一个、一个或多个元素(它继续沿着DOM树向上到根元素,并返回所有找到的匹配项(如果有的话)。)

顺便说一句,
closest()
也将搜索起始元素,而
parents()
将只查看从起始元素的
parent()
节点开始的祖先

参考资料:


您应该使用
最近的()

或者,可能是
parents()

主要区别在于
closest()
将返回零个或一个匹配项(它找到的第一个元素,如果选择器与祖先不匹配,则不返回任何元素),而
parents()
将返回一个、一个或多个元素(它继续沿着DOM树向上到根元素,并返回所有找到的匹配项(如果有的话)。)

顺便说一句,
closest()
也将搜索起始元素,而
parents()
将只查看从起始元素的
parent()
节点开始的祖先

参考资料:


您可以使用最近的
父母

不同之处在于
parents
返回所有的父项
li
最近的
返回第一个

参考资料:


您可以使用最近的
父母

不同之处在于
parents
返回所有的父项
li
最近的
返回第一个

参考资料:


使用
$('myId')。父母('li')
。请参阅:

使用
$('myId').parents('li')
。参见:

你的意思是喜欢吗?@MrOBrian应该把它作为一个答案。你是第一名“你是说喜欢吗?”奥布里安先生应该加上它作为回答。你是第一名正是我想要的。正是我想要的。@Yatrix:谢谢!我不敢相信我错过了。。。很明显,这是漫长的一天!=)今天是星期五,伙计。如果你在周五这么晚的时候想清楚了,我会指责你是个机器人。@Yatrix:谢谢!我不敢相信我错过了。。。很明显,这是漫长的一天!=)今天是星期五,伙计。如果你在周五这么晚的时候想清楚了,我会指责你是个机器人。
$('#myId').closest('li');
$(startElem).closest(selectorString);
$(startElem).parents(selectorString);