繁体   English   中英

jQuery-如果已单击具有特定ID(通配符)的元素,请执行此操作

[英]JQuery - do this if element with specific ID (wildecard) has been clicked on

我尝试将具有相似功能的少数功能合并为一个。 我想根据单击哪个按钮来分开此功能。

 $(document).on('click', '[id^=pack-payreq-toggle-], [id^=test-payreq-toggle-]', function(e) {
      e.preventDefault();

      if($("[id^='pack-payreq-toggle-]").length > 0) { console.log('Pack Pay Req'); }
      if($("[id^='test-payreq-toggle-]").length > 0) { console.log('Test Pay Req'); }
});

我可以使用"has class"管理结果,但是我想学习如何基于id名称识别按下哪个元素。 预先感谢您的建议。

您可以在click函数中使用$(this).attr('id') ,以便可以使用以下方法检查该值的一部分以在id包含packtest字符串:

var idVal = $(this).attr('id');
if(idVal.indexOf('pack') !== -1){
  console.log('Pack Pay Req'); 
}
if(idVal.indexOf('test') !== -1){
  console.log('Test Pay Req'); 
}

这是因为如果字符串中存在值testpack ,则它将具有从0idVal.length-1索引。 因此,通过检查索引不等于(或大于) -1可以知道id存在值

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM