0

看起来在 jQuery 中没有办法做到这一点,但我想我会问你们好人是否有一个聪明的工作可以让我避免parent().parent().parent().

我基本上希望完成这样的事情:$('#myId').parent('li')

4

4 回答 4

1

试试.closest()选择器

$('#myId').closest('li');

这将遍历它在 DOM 树中的祖先。

检查小提琴

于 2012-10-05T20:56:40.880 回答
1

你应该使用closest()

$(startElem).closest(selectorString);

或者,可能parents()

$(startElem).parents(selectorString);

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

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

参考:

于 2012-10-05T20:56:49.847 回答
1

您可以使用closestparents

不同之处在于parents返回所有父母liclosest返回第一个。

参考资料

于 2012-10-05T20:57:15.823 回答
0

使用$('#myId').parents('li'). 见:http ://api.jquery.com/parents/

于 2012-10-05T20:57:33.550 回答