複数セレクターを使用<td>
して、rowspan を使用して最後のものを取得し、次に最後の行のtable td[rowspan]:last
両方を使用して取得します<td>
table tr:last td
$('table td[rowspan]:last, table tr:last td').addClass('last');
http://jsfiddle.net/qEhng/の例に従って、td[rowspan] で最大行インデックスを見つけて、このようにクラスを設定できます。それほど効率的ではありませんが、最高の行インデックスにある行スパンを持つにのみ.last
クラスを割り当てます。最後から 2 番目の行にのみ割り当てたい<td>
場合は、追加のロジックを追加して行インデックスをチェックできますが、行スパンが 2 より大きい場合は注意が必要です....last
$('table tr:last td').addClass('last');
var maxRow = 0;
$('table td[rowspan]').each(function(){
var row = $(this).parent().parent().children().index($(this).parent());
if (row>maxRow) maxRow=row;
});
$('table td[rowspan]').each(function(){
var row = $(this).parent().parent().children().index($(this).parent());
if (row==maxRow) $(this).addClass('last');
});
.last
これは、最後の行に流れる最大行スパンでクラスを tdにのみ追加するコードです- http://jsfiddle.net/qEhng/5/
$('table tr:last td').addClass('last');
var maxRow = 0;
var rowSpan = 0;
$('table td[rowspan]').each(function(){
var row = $(this).parent().parent().children().index($(this).parent());
if (row>maxRow){
maxRow=row;
rowSpan=0;
}
if ($(this).attr('rowspan')>rowSpan) rowSpan = $(this).attr('rowspan');
});
if (maxRow==$('table tr:last td').parent().parent().children().index($('table tr:last td').parent())-(rowSpan-1)){
$('table td[rowspan]').each(function(){
var row = $(this).parent().parent().children().index($(this).parent());
if (row==maxRow && $(this).attr('rowspan')==rowSpan) $(this).addClass('last');
});
}
最終行に接触するすべての行が必要な場合 (rowspan を使用するかどうかに関係なく)、次のコードが機能します ( http://jsfiddle.net/zL6Pe/を参照) 。
$('table tr:last td').addClass('last');
var rows = $('table tr:last').parent().children().length;
$('table td[rowspan]').each(function(){
if ($(this).parent().parent().children().index($(this).parent())+parseInt($(this).attr('rowspan'))==rows) $(this).addClass('last');
});