1

td rowspan=4でターゲットを取得するにはどうすればよいですか。

わからない:

$("#fromTd").parent("tr").next().eq($("#fromTd").attr("rowspan")-1)


<table>
   <tr>...</tr>
   <tr>...</tr>
   <tr><td id="fromTd" rowspan="4"></td></tr>
   <tr>...</tr>
   <tr>...</tr>
   <tr>...</tr>
   <tr>...</tr> -> target (can be aleatory position..)
</table>
4

2 に答える 2

1

その行が実行しようとしているように見えることを実行しようとしている場合、つまり現在のセルの終了後の行を選択しようとしている場合は、の代わりにrowspan必要になります。これは、すぐ次の要素の兄弟のみを返します。nextAll()next()

var td= $('#fromTd');
var nextr= td.parent().nextAll().eq(td.attr('rowspan')-1);

rowsまたは、次の行がたくさんあり、1つを選択するためにすべてを選択する必要がない場合は、標準のDOMとrowIndexプロパティを使用して少し効率的に行うことができます。

var nextr= td.closest('table')[0].rows[td[0].parentNode.rowIndex+td[0].rowSpan];
于 2010-10-06T19:18:12.167 に答える
1

私が間違っている場合は訂正してください。<tr>ただし、X行の後に次の行を取得することをお勧めします。Xは特定の-1の行スパンです<td>。つまり、それ<td>が拡張されない次の行が必要です。

その場合は、これでうまくいくはずです。

var eq = $("#fromTd").attr("rowspan") - 1;
var row = $("#fromTd").parent("tr").nextAll(':eq(' + eq + ')');

これがライブデモです:http://jsfiddle.net/wLPA9/

于 2010-10-06T19:22:48.240 に答える