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

点击job-detail行获取td内隐藏input的值,jQuery代码失效求助

解决jQuery点击.job-detail行获取隐藏input值的问题

我一眼就看出问题所在啦——你用了箭头函数来绑定点击事件,这会导致this的指向完全不对!箭头函数不会绑定自己的this,它会继承外层作用域的this,所以这里的$(this)根本不是被点击的<tr>元素,自然找不到对应的input。

修正方案一:换成普通函数

把箭头函数改成普通的匿名函数,这样this就会自动指向触发点击事件的.job-detail元素了:

$('.job-detail').click(function() {
  alert($(this).find('input[name="id"]').val());
});

修正方案二:使用事件对象的currentTarget

如果你坚持想用箭头函数,可以通过事件参数的currentTarget来获取触发事件的元素:

$('.job-detail').click((e) => {
  alert($(e.currentTarget).find('input[name="id"]').val());
});

额外注意事项

  1. 确保DOM加载完成:最好把你的代码放在$(document).ready()里面,避免DOM还没渲染完成就执行代码,导致找不到元素:
$(document).ready(function() {
  $('.job-detail').click(function() {
    alert($(this).find('input[name="id"]').val());
  });
});
  1. 动态生成的元素?用事件委托:如果这些.job-detail行是后续通过JS动态添加到页面的,直接绑定点击事件会失效,这时候要用事件委托来监听:
$(document).on('click', '.job-detail', function() {
  alert($(this).find('input[name="id"]').val());
});

这样修改后,点击对应的行就能正确弹出隐藏input的value啦!

内容的提问来源于stack exchange,提问作者Nguyen Hoang Vu

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 07:39:06