2011-07-14 81 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