在 jQuery 中,查找元素的祖先主要使用以下三个方法:


1. .parent() 方法

  • 功能: 返回每个匹配元素的直接父元素(一级祖先)。
  • 示例: $(".child").parent().css("border", "1px solid red"); 这段代码会给 class 为 child 的元素的直接父元素添加红色边框。

2. .parents() 方法

  • 功能: 返回匹配元素的所有祖先元素,从直接父元素开始一直到根元素(通常为 <html>)。
  • 可以传入选择器过滤结果: $(".child").parents("div").css("background", "lightgray"); 这会找到所有祖先中匹配 <div> 选择器的元素,并设置背景色为浅灰色。

3. .closest() 方法

  • 功能: 从当前元素自身开始,逐级向上查找第一个匹配指定选择器的元素。如果当前元素自身匹配,则直接返回自身。
  • 示例: $(".child").closest("div").css("padding", "10px"); 这会为 child 元素或其最近的祖先 <div> 添加内边距。

这些方法各有侧重:

  • .parent() 只取直接父元素;
  • .parents() 返回所有层级的祖先;
  • .closest() 查找离当前元素最近的匹配元素(包括当前元素本身)。