根据x和y坐标获取表格单元格的值

时间:2011-07-14 10:04:17

标签: javascript jquery html

因为我是jQuery的新手,我想问下面的内容,我有一个这样的表:

<table id="lettersGrid" border="1">
 <tr>
  <td>..</td>
  <td>..</td>
  <td>..</td>
 </tr>
 <tr>
  <td>..</td>
  <td>..</td>
  <td>..</td>
 </tr>
 </table>

我想使用jQuery来获取特定单元格的值,具体取决于它的x和y位置,所以我有

$("td").mouseover(function(){
 x=this.parentNode.rowIndex;    //get the x coordinate of the cell 
 y=this.cellIndex;      //get the y coordinate of the cell

 //??whats next??
});

任何帮助?

3 个答案:

答案 0 :(得分:1)

如果您想要的只是“鼠标悬停”的单元格内容

 $('td').mouseover(function(){
     var content = $(this).html();
     //do whatever you like with the content....
 });

已编辑:使用index函数获取col / row值

 $('td').mouseover(function(){
     col = $(this).parent().children().index($(this));
     row = $(this).parent().parent().children().index($(this).parent());
 });

选择相似的行:

 $('table tr').eq(row).find('td');

选择相似的cols:

 $('table tr').each(function() {
    $(this).find('td').eq(col);
 }

查找特定行+ col

的值
 $('table tr').eq(row).find('td').eq(col).html();

答案 1 :(得分:0)

DEMO fiddle

$("button").click(function() {
    var row = $('input.enterRow').val()- 1;    // -1 CAUSE .eq() IS zero BASED
    var cell = $('input.enterCell').val()- 1;
    var value = $('#lettersGrid tr:eq(' + row + ') >td:eq(' + cell + ')').html();

    $('.result').html( value );               // PRINT VALUE
});

答案 2 :(得分:0)

我之前在评论中告诉过它,但为了对同样问题的人说得足够清楚,我发现了一些非常有趣的东西解决了我的问题,就是这么简单:

$('#lettersGrid tr:eq(1) td:eq(1)').html();获取元素col = 1 row = 1 从0开始

$('#lettersGrid tr:nth-child(1) td:nth-child(1)').html();获取元素col = 1 row = 1 从1开始