Here are some handy extensions to select table rows and columns: var TableUtils = { /** * @param element a table element * @param integer the requested row * @return array an array of table cell elements **/ getRowCells: function(tableElement, rowIndex){ tableElement = $(tableElement); // extend the table element var tableRows = tableElement.down().childElements(); if(tableRows[rowIndex]) { return (tableRows[rowIndex]).descendants(); } return []; }, /** * @param element a table element * @param integer the requested row * @return array an array of table cell elements **/ getColumnCells: function(tableElement, columnIndex){ tableElement = $(tableElement); // extend the table element var columnCells = []; var tableRows = tableElement.down().childElements(); tableRows.each(function(trEl, index){ // loop over each table row var tCells = trEl.descendants(); // table cells in row if(tCells[columnIndex]) { columnCells.push($(tCells[columnIndex])); // extend each tableElement } }); return columnCells; } } Element.addMethods('table', TableUtils);
Example calls: $('testTable').getColumnCells(1).invoke('fade'); $('testTable').getRowCells(1).invoke('fade'); What do you think? Is there a faster/more elegant solution? Mike van Lammeren --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Spinoffs" group. To post to this group, send email to rubyonrails-spinoffs@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/rubyonrails-spinoffs?hl=en -~----------~----~----~----~------~----~------~--~---