我在一个HTML表格中有一行只包含图片(这恰好是第一行)。这些图片也被绑定到了点击事件。当尝试处理点击事件时,我可以找到其父元素(即<td>
元素)。但我想知道它在表格行中的相对顺序(<tr
>)。
我在一个HTML表格中有一行只包含图片(这恰好是第一行)。这些图片也被绑定到了点击事件。当尝试处理点击事件时,我可以找到其父元素(即<td>
元素)。但我想知道它在表格行中的相对顺序(<tr
>)。
使用index()
函数可以找到元素的序号:
$('td img').click(function() {
var ordinal = $(this).closest('tr').children().index($(this).parent());
// ...
});
当前元素之前的元素数量将是它在 DOM 中相对于父级的索引。您可以使用 .prevAll()
并获取结果集的长度:
$('td').click(function(){
alert($(this).prevAll().length);
});
$("td").click(function () { var ordinal = $(this).closest('tr').children().index(this); alert(ordinal); });
原本代码中的$(this).parent()
是因为this
指向 td 内部的 img 元素,但在你的情况下,this
就是 td 本身。 - reko_t