具有相同ID和类别的两个按钮,只有一个在工作

问题描述

我正在使用jira,并且有两个具有相同ID和类的按钮。两者都是提交按钮,一个在顶部,一个在下面,当我使用下面的jquery时,单击时仅捕获第一个。目的是使测试字段成为必填项。

只有前一个在工作。.

<script>
AJS.toInit(function () {
   AJS.$("#next").click(function(e){
    var comment=AJS.$("#jira #page #content .aui-page-panel .aui-page-panel-inner .aui-page-panel-content #bulkedit .form-body .aui .comment-input #comment").val();
    if(comment==""){
    AJS.$(".bulk-affects").append("<br/><div id='resErrror' style='color:red;margin-left:30px'>Comment is mandatory</div>");
       return false;
       }

   });

   });
</script> 

请帮助我捕获同时适用于此脚本的下一个按钮

解决方法

ID应该是唯一的,因此您只能在页面上使用一次特定的ID。实际上,当您尝试使用ID代码调用元素时,只会调用第一个元素。类可以重复使用

,

querySelectorAll将找到所有ID

const allButtons = document.querySelectorAll('#next');
for (let button of allButtons) {
  $(button).click((e) => {
    // Do your magic here
  })
}
,

记住:网页元素具有某些不可剥夺的权利;具有唯一ID就是其中之一。通过确保网页上每个需要ID的元素都有一个唯一的元素,来防止html元素身份盗用。

但是班级可以重复。