如果你想這樣做,而不使用選擇,你可以這樣做:
function getNextCellVertically(htmlCell){
//find position of this cell..
var $row = $(htmlCell).parent();
var cellIndex = $.inArray(htmlCell, $row[0].cells);
var table = $row.parent()[0];
var rowIndex = $.inArray($row[0], table.rows);
//get the next cell vertically..
return (rowIndex < table.rows.length-1) ?
table.rows[rowIndex+1].cells[cellIndex] : undefined;
}
$('td').click(function() {
var nextCell = getNextCellVertically(htmlCell);
//...
});
不是說效率是這裏重要的,但它工作得更快做這樣的 - 超過10萬次迭代它在測試中比基於選擇器的方法快2-5倍。
你不需要''td''參數給孩子,如果OP在表中有['th' elements](http://jsfiddle.net/nX7JP/),可能會拋出它。 – Dennis 2012-01-12 18:23:20