You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从LI元素回溯到class为one的上级DIV元素?

解决方法:回溯到class为one的上级DIV元素

既然你已经在使用jQuery,推荐用它的DOM遍历方法来定位目标元素,比手动调用previousElementSibling更可靠(后者依赖固定DOM结构,一旦结构变动就会失效)。

方法1:使用closest()

closest()会从当前元素开始向上遍历DOM树,返回第一个匹配指定选择器的祖先元素(包含自身):

// this 指向当前操作的li元素
var $targetDiv = jQuery(this).closest('.one');

方法2:使用parents()

parents()会遍历当前元素的所有祖先节点,再通过first()获取第一个匹配.one的元素:

var $targetDiv = jQuery(this).parents('.one').first();

原生方法无效的原因

你提供的DOM结构里,li的层级是:li → ul → .two → div → .one,li和.one并非同级节点,中间隔了多层父元素,用previousElementSibling根本无法跨层级定位到.one,这也是手动遍历原生DOM节点的局限性。

内容的提问来源于stack exchange,提问作者Skant

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 02:55:24