Jquery最接近元素值

Lee*_*Lee 5 jquery input closest

我试图使用最接近的方式获取表单元素值.这里有一些示例代码.

<table>
  <tr>
    <td>Hour <input type="input" value="12" name="data[hour]" class="hour" /></td>
    <td>Minute <input type="input" value="12" name="data[minute]" class="minute" /></td>
    <td><a href="#" class="add-data">Add Row</a></td>
  </tr>
</table>
Run Code Online (Sandbox Code Playgroud)

请参阅我无法序列化表单,因为它是大表单的一部分,所以我需要获取最接近添加行链接的每个输入,因为你可以添加多行.

我试过了

var hour = $(this).closest('.hour').val();    
var hour = $(this).closest('input', '.hour').val();
var hour = $(this).closest('input[name="data[hour]]").val();
Run Code Online (Sandbox Code Playgroud)

我有什么想法可以获得表单值?

提前致谢

kar*_*m79 13

假设.hour每个tr 只有一个元素,这样做:

var hour = $(this).closest('tr').find('.hour').val();
Run Code Online (Sandbox Code Playgroud)

closest 将:

获取与选择器匹配的第一个祖先元素,从当前元素开始并逐步向上遍历DOM树.

所以,你需要去tr,并从那里找到.hour后代.