現在の行にまたがる「行」のインデックスを取得する方法を見つけようとしています(行にまたがるセルであっても)。
<table>
<tr>
<td rowspan="2">First</td>
<td> First 1 1 </td>
<td> First 2 1 </td>
</tr>
<tr>
<td> First 2 1 </td>
<td> First 2 2 </td>
</tr>
<tr>
<td rowspan="2">Second</td>
<td> Second 1 1 </td>
<td> Second 2 1 </td>
</tr>
<tr>
<td> Second 2 1 </td>
<td> Second 2 2 </td>
</tr>
</table>
テーブル内の任意のセルをクリックした場合、現在どの「行にまたがる」行をカウントするにはどうすればよいですか?
たとえば、「2 番目」のセルのいずれかをクリックすると「2」が表示され、「最初」のセルのいずれかをクリックすると「1」が表示されます。
私はこれを含む複数のことを試しました:
row=$(this).parent().parent().children('tr').filter(function (index) {
return $(this).children('td[rowspan]'); }).index($(this).parent());
と
row=$(this).parent().parent().children('tr:contains("td[rowspan]")')
.parent().parent().index($(this).parent());
そして、一種のそれで動作するようになりました
$row=$(this).parent();
while ($row.children('td:eq(0)').attr("rowspan").length<=0)
$row=$row.prev();
span=$row.children('td:eq(0)').attr("rowspan");
row=Math.floor( parseInt($(this).parent().parent().children().index( $(this).parent()) )/span );
しかし、これはrowspanセルがある場合にのみ機能します...そして、すべての行が同じrowspanを持っていると仮定しています
これらのサイトで作業を試みましたが、あまりうまくいきませんでした。
表示可能なテーブル行の数をカウントするjqueryセレクター?
JQuery: テーブルから行を選択する方法 jQuery でのテーブルの
行と列番号