如何使用单个jQuery点击事件获取点击按钮对应父级div内指定span的文本
你可以通过事件委托的方式仅绑定一次事件完成需求,核心逻辑是监听点击事件冒泡,触发时根据当前点击的PAY按钮向上查找所属的fatura容器,再取出对应span的内容即可。
代码示例(原生JS)
// 仅绑定1次事件即可,你也可以替换为所有.fatura元素的直接上层父容器,性能更优 document.addEventListener('click', function(e) { // 仅响应PAY按钮的点击 if (e.target.classList.contains('faturaOdeButton')) { // 查找按钮所属的.fatura容器 const faturaBox = e.target.closest('.fatura'); // 读取对应span的文本内容 const payTime = faturaBox.querySelector('.faturaTarih').textContent; // 此处替换为你的业务逻辑即可,比如打印、接口传参等 console.log('获取到的时间为:', payTime); } })
方案优势
- 完全满足仅用一个事件实现需求的要求,相比给每个按钮单独绑定事件内存占用更低
- 适配性强,就算后续你调整了按钮的嵌套位置、或者动态新增了.fatura模块,都不需要重新绑定事件,新添加的PAY按钮会自动生效
- closest方法会向上匹配最近的符合选择器的父元素,容错率更高
内容的提问来源于stack exchange,提问作者Wiro
相关产品推荐
相关产品推荐

