Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.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 jQuery找不到下一个元素_Javascript_Jquery_Html - Fatal编程技术网

Javascript jQuery找不到下一个元素

Javascript jQuery找不到下一个元素,javascript,jquery,html,Javascript,Jquery,Html,我使用了几天前有人在另一个问题上提供给我的代码,但是我已经更改了我页面的HTML,现在它不工作了,但我不知道为什么。当计数器点击0时,它应该使按钮具有禁用的属性,但它不是。这是HTML 因此,它应该使名为的元素停止 <td class="text-left my-timer" data-time="10">10</td> <form method="POST"> <td><button type="submit" name="stop

我使用了几天前有人在另一个问题上提供给我的代码,但是我已经更改了我页面的HTML,现在它不工作了,但我不知道为什么。当计数器点击0时,它应该使按钮具有禁用的属性,但它不是。这是HTML

因此,它应该使名为
的元素停止

<td class="text-left my-timer" data-time="10">10</td>
<form method="POST">
    <td><button type="submit" name="stop" class="btn btn-effect-ripple btn-square btn-danger">Stop</button></td>
    <input type="text" name="aID" value="431" class="hidden">
</form>
10
停止
这是我收到的javascript代码。正如您所看到的,一旦计时器为0,它就会找到按钮并向其添加disabled属性

$(function(){
  // loop over each element to activate
  $('td.my-timer').each(function(){
    // "this" inside "each" is current element
    var $elem = $(this), 
         // get the time value stored in data-time attribute
         sec = $elem.data('time');
    // instance specific interval
    var timer = setInterval(function() {
       sec--;
       var html = sec > 0 ? sec : "<b>Finished</b>";
       $elem.html(html);
       if( sec == 0){
          clearInterval(timer);
          $elem.next().find('submit').prop('disabled', true);
       }
    },1000);
  });
});
$(函数(){
//在每个元素上循环以激活
$('td.my timer')。每个(函数(){
//“每个”中的“此”是当前元素
变量$elem=$(此),
//获取存储在数据时间属性中的时间值
秒=$elem.data('time');
//实例特定间隔
var timer=setInterval(函数(){
第二节;
var html=sec>0秒:“完成”;
$elem.html(html);
如果(秒==0){
清除间隔(计时器);
$elem.next().find('submit').prop('disabled',true);
}
},1000);
});
});

您的html无效,因为
表单
不能是
tr
的子元素,请将整个表单移动为第二个
td
元素的子元素,然后使用查找提交按钮

$(函数(){
//在每个元素上循环以激活
$('td.my timer')。每个(函数(){
//“每个”中的“此”是当前元素
变量$elem=$(此),
//获取存储在数据时间属性中的时间值
秒=$elem.data('time');
//实例特定间隔
var timer=setInterval(函数(){
第二节;
var html=sec>0秒:“完成”;
$elem.html(html);
如果(秒==0){
清除间隔(计时器);
$elem.next().find(':submit').prop('disabled',true);
}
}, 1000);
});
});

10
停止

submit
不是HTML元素。这是属性

你的选择器错了

使用属性值选择器

$elem.next().find('button[type="submit"]').prop('disabled', true);
//                ^^^^^^^^^^^^^^^^^^^^^^
您还可以使用伪选择器,如下所示:

选择“提交”类型的所有元素

$elem.next().find(':submit').prop('disabled', true);
//                ^^^^^^^^^