javascript - 使用 prevUntil jquery 查找 pre html 元素

标签 javascript jquery html

当用户单击 span 元素时,我必须在表的前行中搜索第一个输入元素,并返回包含 td 内输入元素的第一行的编号。例如 span 在表格的第四行,第一个输入元素在表格的第二行。在这种情况下,当用户单击 span 元素时,我必须返回 2。我如何搜索以找到前一行中的第一个输入元素?

<script>
$("span").click(function(){
   $(this).parent().parent().prevUntil("tr > td:nth-child(1)>input").css({"color":"red"});
</script>
<table>
  <tr>
    <td><input></input>11</td>
    <td>12</td>
  </tr>
  <tr>
    <td>21<input></input></td>
    <td>22</td>
  </tr>
  <tr>
    <td>31</td>
    <td>31</td>
  </tr>
  <tr>
    <td><span>click</span></td>
    <td>42</td>
  </tr>
</table>

最佳答案

如果我的理解是对的

//dom ready handler
jQuery(function($) {
  $("span").click(function() {
    var $tr = $(this).closest('tr').prevAll("tr:has(input)").first();
    alert($tr.index() + 1)
    $tr.css({
      "color": "red"
    });
  });
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<table>
  <tr>
    <td><input/>11</td>
    <td>12</td>
  </tr>
  <tr>
    <td>21<input/></td>
    <td>22</td>
  </tr>
  <tr>
    <td>31</td>
    <td>31</td>
  </tr>
  <tr>
    <td><span>click</span></td>
    <td>42</td>
  </tr>
</table>

关于javascript - 使用 prevUntil jquery 查找 pre html 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28214253/

相关文章:

javascript - Facebook Messenger Bot Webhook 问题

javascript - Jquery 自动数字(gem 'autonumeric-rails')未正确加载

HTML & CSS - 不能分割菜单和其他对象

javascript - 使用 JQuery 从 html5 视频播放器触发事件

javascript - IE8 的 WYSIHTML5 字符计数器

javascript - 将四个单独的值保存到四个隐藏字段

javascript - 使用 jQuery 生成的按钮不起作用

javascript - 单击标记并突出显示底层折线

jquery - 在移动设备上仅显示和下载来自 Flexslider 的第一张图片

javascript - CSS Twitter Bootstrap 覆盖了 JavaScript 样式,因为它在脚本之后执行。最后如何执行脚本?