ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# jQuery 遍历 - parents() 方法 ## 实例 查找每个 b 元素的所有父元素: ``` $("b").parents() ``` ## 定义和用法 parents() 获得当前匹配元素集合中每个元素的祖先元素,使用选择器进行筛选是可选的。 ``` .parents(_selector_) ``` | 参数 | 描述 | | --- | --- | | _selector_ | 字符串值,包含用于匹配元素的选择器表达式。 | ### 详细说明 如果给定一个表示 DOM 元素集合的 jQuery 对象,.parents() 方法允许我们在 DOM 树中搜索这些元素的祖先元素,并用从最近的父元素向上的顺序排列的匹配元素构造一个新的 jQuery 对象。元素是按照从最近的父元素向外的顺序被返回的。.parents() 和 [.parent()](/jquery/traversing_parent.asp) 方法类似,不同的是后者沿 DOM 树向上遍历单一层级。 该方法接受可选的选择器表达式,与我们向 $() 函数中传递的参数类型相同。如果应用这个选择器,则将通过检测元素是否匹配该选择器对元素进行筛选。 请思考这个带有基本的嵌套列表的页面: ``` <ul class="level-1"> <li class="item-i">I</li> <li class="item-ii">II <ul class="level-2"> <li class="item-a">A</li> <li class="item-b">B <ul class="level-3"> <li class="item-1">1</li> <li class="item-2">2</li> <li class="item-3">3</li> </ul> </li> <li class="item-c">C</li> </ul> </li> <li class="item-iii">III</li> </ul> ``` 如果我们从项目 A 开始,则可找到其祖先元素: ``` $('li.item-a').parents().css('background-color', 'red'); ``` 此次调用的结果是,level-2 列表、项目 II 以及 level-1 列表等元素(沿 DOM 树一路向上直到 &lt;html&gt;)设置红色背景。由于我们未应用选择器表达式,父元素很自然地成为了对象的一部分。如果已应用选择器,则会在包含元素之前,检测元素是否匹配选择器。由于我们未应用选择器表达式,所有祖先元素都是返回的 jQuery 对象的组成部分。如果已应用选择器,则只会包含其中的匹配项目。