-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 に答える