Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

jQuery selector to grab cells in the same column

Given a multirow, multicolumn table, how can I select all cells in the same column as any arbitrary cell (e.g. a cell that is clicked on).

Something like:

$("td").click(function(){
    var columnNo = $(this).columnNo?
    $(this).closest("table").find("tr td:eq("+columnNo+")").css("color", "red");
});

I need to do this without naming the columns individually. E.g. it should work on simple generic table markup without extra classes or IDs..

like image 860
brentonstrine Avatar asked Dec 27 '12 20:12

brentonstrine


1 Answers

Your attempt is right, all you need to do is use .index to find the column number—the index of the <td> within the row. You also need to use the nth-child-selector to match the column indices of the other <td> elements.

$("td").click(function(){
    var columnNo = $(this).index();
    $(this).closest("table")
        .find("tr td:nth-child(" + (columnNo+1) + ")")
        .css("color", "red");
});
like image 197
nbrooks Avatar answered Oct 31 '22 00:10

nbrooks