2010-02-05 50 views
0

我有一个4X4表格。我想要得到垂直的相邻,并在底部的顶部对角线。当我点击的单元格位于边缘时,我没有问题,因为我可以使用类似这样的东西。jquery获取对角线和垂直相邻单元格的表格

above = $(that).parent().prev().children().first() 
below = $(that).parent().prev().children().last() 
diagonalLeft = $(that).parent().children().last().prev() 
diagonalRight = $(that).parent().children().first().next() 

但是,当我有这些情形之一的,当我不能使用第一个或最后一个,我不知道该怎么办。我无法弄清楚它的逻辑。

回答

0

你只需要倒数告诉当前你是什么样的列。

var $that = $('td.yourActiveTD') 

    , rowNum = $that.parent().prevAll('tr').length 
    , colNum = $that.prevAll('td').length 

    , above = $that // td 
     .parent()  // tr 
     .parent()  // table or tbody 
     .children('tr') 
     .eq(rowNum - 1) // the row above this one 
     .children('td') 
     .eq(colNum) // in the same column as this 
; 

从这一点,你应该能够得到任何你想要的细胞只是通过改变.eq()线。

+0

下面呢? – Zerobu 2010-02-05 04:05:56

+0

也许我应该发布所有我正在研究的内容,以了解如何将其应用于我当前的项目 – Zerobu 2010-02-05 04:18:27

+0

@ user225509 - 将其更改为“+1”而不是“-1”......您应该能够弄清楚它从那里。 – nickf 2010-02-05 04:28:23

相关问题