-1
<table>
<tr class="csstablelisttd">
    <td>
    </td>
    <td>
        15
    </td>
</tr>
<tr class="csstablelisttd">
    <td>
    </td>
    <td>
        30
    </td>
</tr>
<tr class="csstablelisttd">
    <td>
    </td>
    <td>
        45
    </td>
</tr>

$(".csstablelisttd").live('mousedown', function(e) {
    lastRow = $(this).closest("tr")[0].rowIndex;
}

如何在 jQuery 中获取类的鼠标按下时的列索引?

4

4 回答 4

2

要获取列的索引,您可以使用index函数:

$(".csstablelisttd td").on('mousedown', function (e) {
    var colIndex = $(this).index();
});

示范

请注意,您必须在 上而td不是在上检测到事件tr

于 2012-10-22T12:28:30.057 回答
1

列索引如下:

$('.csstablelisttd').mousedown(function (e) {
    var colIndex = $(e.target).closest('td').index();
});

我已经更新了你的小提琴

于 2012-10-22T12:29:06.717 回答
1

您当前的代码正在检查index,请tr选择td

$(".csstablelisttd td").live('mousedown', function(e) {
    idx = $(this).index();
});

示例小提琴

于 2012-10-22T12:29:30.803 回答
0

您正在侦听行本身的事件,根据定义,该事件跨越表中的所有可用列。你可以这样做:

$('tr.csstablelisttd td').on('mouseover', function()
{
    var col = $(this).parent().children().index($(this)),
        row = $(this).parent().parent().children().index($(this).parent());

    alert('Row: ' + row + ', Column: ' + col);
});
于 2012-10-22T12:29:29.593 回答