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

JavaScript中如何通过兄弟父元素的子按钮选中目标form元素

点击按钮选中同级的编辑表单实现方案

针对你给出的DOM结构,这里提供两种实用的实现方式,不管用原生JavaScript还是jQuery都能轻松搞定:

原生JavaScript实现

直接通过DOM遍历定位目标表单,兼容性好,无需额外库:

// 给所有编辑按钮绑定点击事件
document.querySelectorAll('.edit').forEach(btn => {
  btn.addEventListener('click', function() {
    // 先找到当前按钮所在的li父容器
    const taskContainer = this.closest('.task');
    // 在容器内定位目标编辑表单
    const targetEditForm = taskContainer.querySelector('.edit-form');
    
    // 这里可以对表单执行你需要的操作,比如移除隐藏类显示表单
    targetEditForm.classList.remove('hidden');
    // 示例:自动聚焦到输入框
    targetEditForm.querySelector('input[name="taskDescription"]').focus();
  });
});

jQuery实现

如果你的项目已经引入jQuery,可以用更简洁的写法:

$('.edit').on('click', function() {
  // 快速定位到目标表单
  const targetEditForm = $(this).closest('.task').find('.edit-form');
  
  // 执行操作,比如显示表单并聚焦输入框
  targetEditForm.removeClass('hidden');
  targetEditForm.find('input[name="taskDescription"]').focus();
});

为什么用.closest('.task')?

这种基于父容器的查找方式比直接找兄弟元素更稳定——就算后续DOM结构微调(比如在按钮容器和表单之间新增元素),代码依然能正常定位到目标表单,不会因为元素位置变化而失效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 09:27:22