如何从兄弟元素的子元素javascript中选择元素

ih99xse1  于 2023-02-28  发布在  Java
关注(0)|答案(1)|浏览(137)

我想通过单击窗体同级父项的子项按钮来选择窗体..我知道这很混乱。

<li class="list-group-item d-flex justify-content-between align-items-center task">
      <span class="task"><%= task.taskDescription %></span>
      (this-form)=> <form action="/edit" method="POST" class="hidden edit-form">
        <input type="text" name="taskDescription" />
        <input type="hidden" name="id" value="<%-task._id%>" />
      </form>
      <div class="btns">
        (this-btn)=> <button class="edit">Edit</button>
        <form action="/delete" method="POST">
          <input type="hidden" class="edit" name="id" value="<%-task._id%>" />
          <input type="submit" name="submit" value="Delete" />
        </form>
      </div>
    </li>
hfyxw5xn

hfyxw5xn1#

您可以使用任何唯一的选择器直接选择表单,id可能是最好的,但在给出的示例中,您可以使用document.querySelector('.edit-form')
如果有多个相似的元素,并且您希望确保从按钮的onclick处理程序中获取具有公共父元素的元素:

function onclick() {
  const form = this.parentNode.parentNode.querySelector('.edit-form');
  // do what you want with form here
}

它的作用是:
1.从this开始(单击按钮)
1.向上转到DOM元素的父元素两次(首先转到<div class="btns">,然后转到<li ...>元素)
1.从那里我们选择<form class="edit-form ..." ...>元素。

相关问题