Javascript jQuery找不到下一个元素
我使用了几天前有人在另一个问题上提供给我的代码,但是我已经更改了我页面的HTML,现在它不工作了,但我不知道为什么。当计数器点击0时,它应该使按钮具有禁用的属性,但它不是。这是HTML 因此,它应该使名为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
的元素停止
<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);
// ^^^^^^^^^