prevUntil()用于获取当前元素之前的所有同级元素,直到遇到匹配指定选择器的元素为止。例如$('#item5').prevUntil('.target')返回#item4,不包含.target本身,常用于表单或列表中高亮范围等场景。

jQuery 中并没有名为 prevUtil() 的方法,可能是对 jQuery 遍历方法的误解或拼写错误。你可能想了解的是 prevUntil() 方法,它是 jQuery 提供的一个用于遍历 DOM 树的工具。
prevUntil() 是什么?
prevUntil() 方法用于获取当前元素之前的所有同级元素,直到遇到匹配指定选择器的元素为止(不包括匹配的元素本身)。它通常用于向上遍历 DOM 结构中的前一个兄弟节点序列。
这个方法在处理表单、列表或结构化内容时非常有用,比如高亮从某个元素到另一个元素之间的所有兄弟节点。
基本语法
$(selector).prevUntil(selector, filter)- selector:可选,表示停止条件的选择器、DOM 元件或 jQuery 对象
- filter:可选,用于进一步筛选结果的过滤选择器
实际使用示例
假设我们有如下 HTML 结构:
- Item 1
- Item 2
- Target Item
- Item 4
- Item 5
如果我们想选中 #item5 之前的所有兄弟元素,直到碰到带有 .target 的元素,可以这样写:
这将返回包含 #item4 的 jQuery 对象(因为它是 #item5 前面的兄弟,且在到达 .target 之前)。
与其它遍历方法的区别
- prev():只获取前一个兄弟元素
- prevAll():获取前面所有的兄弟元素
- prevUntil():获取前面的兄弟元素,但遇到匹配项就停止
例如,在上面的 HTML 中:
-
$('#item5').prev()→ 返回 #item4 -
$('#item5').prevAll()→ 返回 #item4, #item3, #item2, #item1 -
$('#item5').prevUntil('.target')→ 返回 #item4(遇到 .target 就停,.target 不包含在内)
基本上就这些。正确理解 prevUntil() 的作用和参数,能帮助你在复杂 DOM 结构中精准定位目标元素范围。










