jQuery 文档说明
对于集合中的每个元素,通过测试元素本身并遍历DOM树中的祖先来获取与选择器匹配的第一个元素.
在我看来,这里的操作词是祖先.这意味着,如果一个人使用
elem.closest(selector)
Run Code Online (Sandbox Code Playgroud)
和选择器不是elem的祖先,什么都不会被发现.但是,在它读取的同一文档中略低一点
向上移动DOM树,直到找到所提供选择器的匹配项
我解释为意味着它会一直到<body>标签来获取它的人.注意,这里没有提到父母或祖先.
我写了一个快速的小提琴,似乎表明这是前一种说法是正确的.但是,我认为最好在这里发布,看看是否有其他人可以证实这一点.
.closest()
像这样的作品的实现(在伪代码中):
while (node) {
if (node matches selector) {
return node;
}
node := node.parentNode
}
Run Code Online (Sandbox Code Playgroud)
换句话说,它仅通过跟随父链来遍历.
归档时间: |
|
查看次数: |
1903 次 |
最近记录: |