Zak*_*Zak 11 html javascript jquery
我正在处理表中包含的表单的代码.我正在编写(使用jQuery)一个函数来突出显示<td>每个<input>元素的父元素.那部分很简单 - 代码只是:
$('.myForm input').click(function(){
$(this).parent().addClass('active');
})
Run Code Online (Sandbox Code Playgroud)
更复杂的部分是一些文本字段位于嵌套在<td>第一个表的第二个表中.它看起来像:
<table>
<tr>
<td> <--cell I want to add the class to
<table>
<tr>
<td><input type='text'></td>
</tr>
</table>
</td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud)
所以我的问题是:有没有办法使用jQuery的一个语句找出最高父方式<td>的的<input>元素吗?换句话说,我可以结合:
$('.myForm input').click(function(){
$(this).parent().addClass('active');
})
Run Code Online (Sandbox Code Playgroud)
和
$('.myForm input').click(function(){
$(this).parent().parent().addClass('active');
})
Run Code Online (Sandbox Code Playgroud)
成一个功能?
lon*_*day 20
最好的解决方案是在实际想要定位的表中添加一个类.这意味着您可以在将来更新标记,而不必通过执行类似操作来破坏JS $(this).closest('.targetElement').addClass('active').
如果你不能这样做,你可以使用parents('td').last().这将选择所有td父元素,然后获取最后一个元素.
$('.myForm input').click(function(){
$(this).parents('td').last().addClass('active');
})
Run Code Online (Sandbox Code Playgroud)
请参阅jQuery手册:
| 归档时间: |
|
| 查看次数: |
20400 次 |
| 最近记录: |