Javascript 选择td内的隐藏输入
我试图从td中的隐藏输入中选择值,并使用此jQuery,但它不起作用:Javascript 选择td内的隐藏输入,javascript,jquery,html,Javascript,Jquery,Html,我试图从td中的隐藏输入中选择值,并使用此jQuery,但它不起作用: $('.job-detail').click(() => { alert($(this).find('input[name=id]').val()); }); <tr class="job-detail"> <td><input name="id" type="hidden" value="..." />1</td> <td><
$('.job-detail').click(() => {
alert($(this).find('input[name=id]').val());
});
<tr class="job-detail">
<td><input name="id" type="hidden" value="..." />1</td>
<td><input class="name" type="hidden"
value="..." ></td>
<td>every day 1:00</td>
<td>yyyy/mm/dd hh24/mi/ss</td>
<td>yyyy/mm/dd hh24/mi/ss</td>
</tr>
<tr class="job-detail">
<td><input name="id" type="hidden" value="..." />2</td>
<td>...</td>
<td>every day 1 hour</td>
<td>yyyy/mm/dd hh24/mi/ss</td>
<td>yyyy/mm/dd hh24/mi/ss</td>
</tr>
有人能帮我一下吗:顺便说一句,我现在还不能清楚地理解jQuery的“this”:当你想使用它时,不要使用普通的函数表达式,因为它没有自己的this,并且它在词汇上绑定了它们的上下文,所以这实际上是指声明函数的原始上下文范围
$('.job-detail').click(function(){
alert($(this).find('input[name=id]').val());
});
当您想使用它时,请坚持使用普通函数表达式,而不是,因为它没有自己的this,并且它在词汇上绑定了它们的上下文,因此这实际上是指声明函数的原始上下文范围
$('.job-detail').click(function(){
alert($(this).find('input[name=id]').val());
});
问题是箭头函数。 用“normal”函数替换它,或者使用click函数的参数
要了解有关不同类型函数的更多信息,请查看问题在于箭头函数。 用“normal”函数替换它,或者使用click函数的参数
要了解更多关于不同类型函数的信息,请查看您可以使用箭头函数,但不能在其中使用此关键字,下面是使用箭头函数的代码
$('.job-detail').click((e) => {
alert($(e.currentTarget).find("input[name=id]").val());
});
您可以使用箭头函数,但不能在其中使用此关键字,下面是使用箭头函数的代码
$('.job-detail').click((e) => {
alert($(e.currentTarget).find("input[name=id]").val());
});
您的HTML无效。您应该将tr添加到表标记中,并在$document.ready内运行JS以确保加载了DOM对象。 对于这一点,它将参考您单击的current tr。 $document.readyfunction{ $'.job detail'。单击,函数{ 警报$this.find'input[type=hidden]'.val; }; }; 1. 每天1:00 yyyy/mm/dd hh24/mi/ss yyyy/mm/dd hh24/mi/ss 2. ... 每周一小时 yyyy/mm/dd hh24/mi/ss yyyy/mm/dd hh24/mi/ss
您的HTML无效。您应该将tr添加到表标记中,并在$document.ready内运行JS以确保加载了DOM对象。 对于这一点,它将参考您单击的current tr。 $document.readyfunction{ $'.job detail'。单击,函数{ 警报$this.find'input[type=hidden]'.val; }; }; 1. 每天1:00 yyyy/mm/dd hh24/mi/ss yyyy/mm/dd hh24/mi/ss 2. ... 每周一小时 yyyy/mm/dd hh24/mi/ss yyyy/mm/dd hh24/mi/ss .closest和.find选择器是相互补充的,一起使用是到达单击或任何事件发生位置的相应元素的最佳方式 $”。作业详细信息。单击E=>{ 警报$event.target.closest'tr.job-detail'。查找'input[type=hidden]'。val; }; 1. 每天1:00 yyyy/mm/dd hh24/mi/ss yyyy/mm/dd hh24/mi/ss 2. ... 每天1小时 yyyy/mm/dd hh24/mi/ss yyyy/mm/dd hh24/mi/ss .closest和.find选择器是相互补充的,一起使用是到达单击或任何事件发生位置的相应元素的最佳方式 $”。作业详细信息。单击E=>{ 警报$event.target.closest'tr.job-detail'。查找'input[type=hidden]'。val; }; 1. 每天1:00 yyyy/mm/dd hh24/mi/ss yyyy/mm/dd hh24/mi/ss 2. ... 每天1小时 yyyy/mm/dd hh24/mi/ss yyyy/mm/dd hh24/mi/ss
非常感谢,它成功了。但是为什么我们不应该使用arrow函数呢?Nguyen,当你使用arrow函数时,这指的是函数声明的范围,而不是arrow函数本身的范围。啊,我明白了。谢谢你的支持非常感谢,它起了作用。但是为什么我们不应该使用arrow函数呢?Nguyen,当你使用arrow函数时,这指的是函数声明的范围,而不是arrow函数本身的范围。啊,我明白了。谢谢你的支持,我的