2011-10-05 75 views
5

我想向表格的每一行中的最後一個單元格添加一個類......這不起作用......它僅將rightStyle應用於最後一個單元格元素在第一個(頂部)行中...使用jquery在列表中按列位置查找所有td

//the last cell in every row all have border right 
       var lastIndex = getLastVisibleIndex(); 
       var rows = $("table.scrollable tr"); 
       rows.each(function() { 
        $("td:eq(" + lastIndex + ")").addClass(rightStyle) 
       }); 
+0

這是不知道getLastVisibleIndex和你的標記中有什麼不可能告訴你什麼是錯的。 –

回答

2

我用的第n個孩子......

$("table.scrollable td:nth-child(" + lastIndex + ")").addClass(rightStyle); 

一些很好的替代品雖然這裏的解決方案。

1

當您搜索tds時,只需要查看當前行內部。見另外的

  rows.each(function() { 
       $("td:eq(" + lastIndex + ")", this).addClass(rightStyle) 
      }); 
0

它也可能是您的錶行不都lastIndex細胞。嘗試此更高的可靠性:

rows.each(function() { 
    $(this).children("td").last().addClass(rightStyle) 
}); 
0
$("table.scrollable tr").each(function() { 
        $(this).children("td").eq(lastIndex).addClass(rightStyle); 
       }); 
13

做這一切在一條線......

$('table tr td:last-child').addClass(rightStyle); 

// Targeting a particular column as pointed out by FiveTools 
// Note that :nth-child(n) is 1-indexed 
$('table tr td:nth-child(3)').addClass('highlight'); 

http://jsfiddle.net/cobblers/hWqBU/

+0

我需要的td(列)可能不是最後一列... – FiveTools

+0

太棒了! jquery Rox。 –

+2

對於有行記錄的情況,「n-child」不起作用。 –

0

我做你正在做同樣的事情,但我設置的最後一個TD的列寬

// SET FIRST AND LAST TD SIZE 
$("tr").each(function() { 
    $(this).children("td:last").attr("width", 200); 
});