2011-07-14 46 views
3

,因为我是新来的jQuery我想问下面,我有一个这样的表:获取取决于x和y一表的单元格的值坐标

<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?? 
}); 

任何帮助吗?

+0

开始你并不需要他们如果你想要的只是获得值 - 只需使用鼠标悬停事件中已有的“this”引用 – BonyT

回答

1

如果你想要的是细胞的,你是“mouseing越过”内容

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

编辑:使用index函数来获取COL /行值

$('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); 
} 

要找到一个特定的行+山坳

$('table tr').eq(row).find('td').eq(col).html(); 
+0

不,我想用坐标取值,因为后来我会得到所有单元格的值同样的y让我们说.. – sstauross

+0

是的,但你的代码不会给出基于坐标的值,我已经找到了临时例如$('#lettersGrid')。find(“tr”)。eq(5).children()。first()给你第五个tr,但是包含特定td的完整函数又如何..? – sstauross

+0

也许它的最后一个塔将帮助我,但它并没有在这里工作: – sstauross

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 
}); 
0

我在评论告诉它的价值之前,但刚需的人用相同的足够清晰问题,我发现一些非常有趣的东西解决了我的问题,那就是这么简单:

$('#lettersGrid tr:eq(1) td:eq(1)').html();获得在山坳= 1行中的元素= 1 从0

$('#lettersGrid tr:nth-child(1) td:nth-child(1)').html();开始获得在山坳= 1行= 1 元素从1