当用户在jquery中单击特定列表时,如何获取行号和列号

时间:2014-03-11 02:06:07

标签: javascript jquery

如果用户单击html表中的特定列,我该如何获取它的行号和列号。

  $("table #id").click(function()
  {
          //get row and column num
  }); 

4 个答案:

答案 0 :(得分:1)

我建议:

$('td').click(function (){
    var cell = this,
          col = cell.cellIndex + 1,
          row = cell.parentNode.rowIndex + 1;
    console.log('Row: '  + row + ', column: ' + col)
});

JS Fiddle demo

答案 1 :(得分:0)

假设#idtd元素:

var myRow = $(this).parent('tr').index();
var myCol = $(this).index();

当然,更复杂的表结构需要更复杂的选择器。您需要显示HTML以获得进一步的帮助。

答案 2 :(得分:0)

这应该是非常直接的:

HTML

<p class="result"></p>
<table>
    <tr>
        <td>row 1 - cell 1</td>
        <td>row 1 - cell 2</td>
        <td>row 2 - cell 3</td>
    </tr>
    <tr>
        <td>row 2 - cell 1</td>
        <td>row 2 - cell 2</td>
        <td>row 2 - cell 3</td>
    </tr>
    <tr>
        <td>row 3 - cell 1</td>
        <td>row 3 - cell 2</td>
        <td>row 3 - cell 3</td>
    </tr>
</table>

JS:

var $result = $(".result");
$("table").on("click", "td", function(e) {
    var $tableCell = $(this);
    var tableCellNumber = $tableCell.index() + 1;
    var tableRowNumber = $tableCell.parent().index() + 1;

    var result = "row number: " + tableRowNumber + ", cell number: " + tableCellNumber;

    $result.text(result);
});

小提琴:http://jsfiddle.net/Varinder/Rr7JS/

答案 3 :(得分:0)

尝试以下方法:

$("table tr td").click(function() {
    var rowNo = ($(this).parent().index() + 1);
    var cellNo = ($(this).index() + 1);
    alert("rowNo=" + rowNo + "  ||  cellNo=" + cellNo);
});