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

如何向下遍历DOM找到最接近的带指定类名的div元素

问题根因

你的代码逻辑错误出现在.div2的选择逻辑上:$('.div').find('.div2').first()是全局选中所有.div容器下的第一个.div2元素,和你点击的cancel按钮没有关联,不管点击哪个位置的cancel,都会固定删除最顶部的第一个.div2,自然无法匹配你要删除点击位置最近.div2的需求。


解决方案

从你给出的DOM结构可以看到,每个.div1和对应的.div2是相邻的同级元素,你可以从当前点击的按钮出发,先定位到所属的.div1,再取它的下一个同级.div2即可,修改后的代码如下:

$(document).on("click", ".cancel", function () {
  const currentDiv1 = $(this).closest('.div1');
  // 选中当前div1相邻的下一个div2,精准匹配对应项
  currentDiv1.next('.div2').remove();
  currentDiv1.remove();
});

如果后续结构调整,.div2不一定紧挨着.div1,可以把currentDiv1.next('.div2')替换为currentDiv1.nextAll('.div2').first(),会从当前元素之后的所有同级元素里找第一个.div2,兼容性更强。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 22:36:03