jQuery没有找到下一个元素

时间:2015-08-10 02:58:16

标签: javascript jquery html

我使用了几天前我在另一个问题上提供给我的代码,但是我已经更改了我的页面的HTML,现在它不起作用,但我无法弄清楚原因。一旦计数器点击 0 ,它应该使按钮具有禁用属性,但事实并非如此。这是HTML

所以它应该是名为Dim FirstEntry As Boolean = True

的元素
stop

这是我给出的javascript代码。正如您所看到的,一旦计时器为0,它将找到该按钮并向其添加禁用属性。

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

2 个答案:

答案 0 :(得分:3)

submit不是HTML元素。这是属性。

你的选择器错了。

使用属性值选择器

$elem.next().find('button[type="submit"]').prop('disabled', true);
//                ^^^^^^^^^^^^^^^^^^^^^^

您还可以使用:submit伪选择器,如下所示:

  

选择提交类型的所有元素。

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

答案 1 :(得分:1)

您的HTML无效,因为form无法成为tr的孩子,将整个表单移动为第二个td元素的子项,然后使用{ {3}}找到提交按钮

&#13;
&#13;
$(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);
  });
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
  <td class="text-left my-timer" data-time="10">10</td>
  <td>
    <form method="POST">
      <button type="submit" name="stop" class="btn btn-effect-ripple btn-square btn-danger">Stop</button>
      <input type="text" name="aID" value="431" class="hidden" />
    </form>
  </td>
</table>
&#13;
&#13;
&#13;

<td class="text-left my-timer" data-time="10">10</td>
<td>
    <form method="POST">
        <button type="submit" name="stop" class="btn btn-effect-ripple btn-square btn-danger">Stop</button>
        <input type="text" name="aID" value="431" class="hidden"/>
    </form>
</td>