![](/img/trans.png)
[英]JQuery - How to get specified row containg unique element by javascript/jquery
[英]How to get row of element in cell by javascript/jquery?
我有一个像这样的简单桌子
<table id="tempTable">
<tbody>
<tr id="row_01">
<td>
<button onclick="btnclick(this);" >Save Row</button>
</td>
</tr>
<tr id="row_02">
<td>
<button onclick="btnclick(this);" >Save Row</button>
</td>
</tr>
</tbody>
</table>
function btnclick(e) {
var currentRow = $(e).parent().parent();
alert(currentRow.id);
}
我想确定单击按钮所在的行。 因此,如您所见,我在btnclick()中使用了一些jquery方法。 但是有时我不知道按钮在行()中的放置深度,所以我正在寻找一种通过元素的标签<tr>
获取祖先的方法。
有人帮助我,谢谢吗?
尝试这个 :
function btnclick(e) {
var currentRow = $(e).closest('tr');
alert(currentRow.id);
}
closest()
函数将返回其选择器引用的最接近的祖先。 在这种情况下,选择器只是一个<tr>
元素。
取自jQuery docs :
.closest(选择器)
获取与选择器匹配的第一个元素,从当前元素开始,一直到DOM树。
如果你改变你的HTML一点点可以使用更好的方法。 如果您在每个按钮上都放置了相同的类。
例如:
<td>
<button class="myBtnClass" >Save Row</button>
</td>
然后您的jQuery将如下所示:
$(".myBtnClass").on('click',function(){
var currentRow = $(this).closest('tr');
alert(currentRow.attr('id'));
});
此函数将捕获对.myBtnClass
类的任何元素的单击。
jQuery的方式是:
$('#tempTable').find('button').click(function() {
var currentRow = $(this).closest('tr');
});
如何使用最接近的
function btnclick(e) {
var currentRow = $(e).closest('tr');
alert(currentRow.id);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.