Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 选择td内的隐藏输入_Javascript_Jquery_Html - Fatal编程技术网

Javascript 选择td内的隐藏输入

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><

我试图从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><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函数本身的范围。啊,我明白了。谢谢你的支持,我的